Реагировать локальное состояние компонента не обновляется с onChildClick - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь обновить локальное состояние компонента реакции при щелчке элемента

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 запущен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...