点击一个元素时,我试图更新react组件的本地状态
onChildClick={this.onChildClickCallback}
其中onChildClickCallback
是渲染器之外的辅助函数,如下所示:
onChildClickCallback = key => {
this.setState({ items: this.props.data, newKey: key }, function() {
console.log(this.state);
});
};
我已经在回调中编写了上面的console.log,因为我读过某个地方的状态可能不会立即更新。
但是,无论我传递给状态的值是什么,它都不会更新,并且控制台正在记录键和项的相同旧值。 我在这里想念什么?
更新的代码:
render() {
console.log(this.state);
const items = this.props.data;
return (
<Fragment>
<GoogleMap
center={this.state.center}
onChildClick={this.onChildClickCallback}
>
{items.map(item => (
<Marker
key={item.id}
lat={item.lattitude}
lng={item.longitude}
place={place}
/>
))}
</GoogleMap>
</Fragment>
);
}
您已经有了onChildClickCallback。我想在触发onChildClickCallback时更新状态并重新呈现组件。