I am trying to refresh content in the table generated with this library react-table. However, for some reason, it doesn't work, even though I change the state of the parameter which I pass to the Component.
<ReactTable
data={this.state.data}
columns={this.state.headers}
/>
And the function which changes data:
let data= this.state.data;
for (var i = 0; i < data.length; i++) {
data[i].name="TEST"
}
this.setState({data: data})
I can see that the data has changed but the content of the table stays the same.
Object.assignor spread syntax:let data = [ ...this.state.data ]Also, do not change a key's value like that, since if you change with this way, your original object mutates, too. Use.mapas suggested @Shishir Arora's answer. This applies to spread syntax since it makes a shallow copy.