React组件的本地状态未使用onChildClick更新

时间:2019-06-25 19:32:09

标签: reactjs setstate react-component react-state google-map-react

点击一个元素时,我试图更新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时更新状态并重新呈现组件。

0 个答案:

没有答案