ReactJS: передача значений в дочерний компонент после завершения вызова API - PullRequest
1 голос
/ 07 марта 2019

В моем приложении у меня есть модуль под названием «Категории», где у меня есть два компонента (Add & Edit).Я создал дочерний компонент под названием «Форма».Этот компонент Form действует как дочерний компонент для обоих компонентов, Add & Edit.

Компонент «Добавить», работает нормально.Однако компонент «Редактировать», который должен быть предварительно заполнен существующими значениями, загружается с пустыми входами.Я уже передаю извлеченные значения в компонент «Форма» и обновляю состояние в дочернем компоненте по методу componentDidMount, но он не работает.

Вот мой код:
Edit.jsx

componentWillMount()
{
    Axios
        .get('/api/category/edit/' + this.props.match.params.token)
        .then((response) => {
            if(response.data.status == false)
            {

            }
            else
            {
                this.setState({
                    token: response.data.token,
                    title: response.data.title,
                    status: response.data.status,
                    description: response.data.description
                });
            }
        });
}

...

render()
{
    ...
    <Form ref="form" onSubmit={this.onSubmit} edit={this.state} />
    ...
}

Form.jsx

componentDidMount()
{
    this.setState({
        title: this.props.edit.title,
        description: this.props.edit.description,
        status: this.props.edit.status
    });

    console.log(this.props.edit);
    console.log(this.state);
}

Если I console.log(this.props.edit) в render методе "Компонент «Форма», после чего отображаются все значения.

Как решить эту проблему ..?

...