单击元素时,我正在尝试更新反应组件的本地状态
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 时更新状态并重新渲染组件。