I wonder what the best way is to define more than one key/value
pair for the state
in a Functional Component
.
In a class I would initialithe State
like
this.state = {
first: 'foo',
second: 'bar'
};
To update the State
I call
this.setState({
first: 'foobar',
second: 'barfoo'
});
Now with React Hooks
I initialize the State
like so.
const [first, setfirst] = useState('foo');
const [second, setSecond] = useState('bar');
To update the State
I call:
setFirst = 'foobar';
setSecond = 'barfoo';
But, IMHO, that is not ideal. I have to rewrite const [x, setX] = useState(...);
everytime I want to add a new key/value
pair to the State object
. Boilerplate. I further always have to keep in mind the "setter" name of x
, which is setX
. That will get messy, if the State object
grows.
It would be nicer if I could simply call
setState(first: 'foobar', second: 'barfoo');
But I am not sure how to initialize the State object
properly/what is the best way to do that.