0

单击元素时,我正在尝试更新反应组件的本地状态

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 时更新状态并重新渲染组件。

4

0 回答 0