Я создаю веб-приложение с React и redux,
Пока все хорошо,
Недавно я работал над какой-то областью приложения, и внезапно реквизиты родительского компонента потерялись! и я могу получить доступ только к реквизиту из Redux.
после отладки кода, это именно то, что происходит:
- (Child-component) Метод рендеринга, выполняемый с правильными подпорками (parent-props + redux props).
- (Child-component) Метод рендеринга, выполняемый с правыми подпорками (parent-props + redux props).
- (Child-component) Метод рендеринга, выполненный с неправильными реквизитами (только редуктивные реквизиты).
Код:
Родительский компонент вызывает дочерний компонент:
<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})}}
/>;
Дочернее взаимодействие с компонентами:
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);