Reactjs: What Is The Correct Way To Set A State Value As Array?
I have an array of object that get users data using fetch API. I have tried constructor, create a function, bind it. It didn't work. I tried ComponentDidMount and setState, it retu
Solution 1:
First initialize your state in your constructor like this
constructor(props) {
super(props);
this.state = {users : []} //initialize as array
}
Then instead of that.state = {users: json};
set your state using
that.setState({ users: json });
Solution 2:
Solution 3:
You already got the answer to use setState({ users: json })
, which is right.
As an alternative to initializing the array value like abul said, you could also do a conditional render, depending on the component state. I.e you can render a different component if the users aren't loaded yet.
render() {
const users = this.state.users;
return !users ?
<p>Loading..</p> :
<YourComponentusers={users} />;
}
Post a Comment for "Reactjs: What Is The Correct Way To Set A State Value As Array?"