Реквизит потерян в третьем рендере, видны только лишние реквизиты - PullRequest
0 голосов
/ 10 марта 2019

Я создаю веб-приложение с React и redux, Пока все хорошо,

Недавно я работал над какой-то областью приложения, и внезапно реквизиты родительского компонента потерялись! и я могу получить доступ только к реквизиту из Redux.

после отладки кода, это именно то, что происходит:

  1. (Child-component) Метод рендеринга, выполняемый с правильными подпорками (parent-props + redux props).
  2. (Child-component) Метод рендеринга, выполняемый с правыми подпорками (parent-props + redux props).
  3. (Child-component) Метод рендеринга, выполненный с неправильными реквизитами (только редуктивные реквизиты).

Код:

  1. Родительский компонент вызывает дочерний компонент:

    <NewNetworkService
        drPlan={this.state.selectedDrPlan}
        instanceId={this.state.selectedDrPlan.instanceId}
        setLoader={(loader) => {this.props.handleLoader(loader);}}
        setError={(error) => {this.setState({error: error})}}
        mode={NSConst.DEPLOY}
        refresh={() => this.refresh()}
        close={() => {this.setState({showDeployDialog: false})}}
    />;
    
  2. Дочернее взаимодействие с компонентами:

    const mapDispatchToProps = dispatch => {
        return {
            getNetworkFunctionsDetailsWithPlacement: (id, callback, errorCallback) => dispatch(actions.getNetworkFunctionsDetailsWithPlacement(id, callback, errorCallback)),
            createNewNetworkService: (data, callback, errorCallback) => dispatch(actions.createNewNetworkService(data, callback, errorCallback)),
            createNewDRPlan: (data, callback, errorCallback) => dispatch(actions.createNewDRPlan(data, callback, errorCallback)),
            deployNetworkService: (id, body, callback, errorCallback) => dispatch(actions.deployNetworkService(id, body, callback, errorCallback)),
            deployDRPlan: (id, body, callback, errorCallback) => dispatch(actions.deployDRPlan(id, body, callback, errorCallback)),
            setNsSnackMessage: (data) => dispatch(actions.setNsSnackMessage(data))
       };
    };
    
    export default connect(null, mapDispatchToProps)(NewNetworkService);
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...