#reactjs #bootstrap-modal
#reactjs #bootstrap-модальный
Вопрос:
У меня есть некоторый код, в котором я устанавливаю состояние объекта для EMPMODAL. Позже я передаю prop модальному, затем в модальном мне нужно установить состояние объекта для этого объекта. Я не могу правильно понять синтаксис. Ниже приведен пример того, как он выглядит. Я сократил код, чтобы он не был точным. Но я думаю, что это та часть, где я устанавливаю состояние в конструкторе. Я думаю, поскольку я пытаюсь установить его на объект, у меня неправильный синтаксис. Спасибо за любую помощь.
const formEmpModal = {
firstname: emp.firstname,
lastname: emp.lastname,
};
this.setState({
formEmpModal: formEmpModal
});
console.log(formEmModal): //THIS DOES LOG THE OBJECT SO IT IS SETTING STATE CORRECTLY
<EmployeeDetailModal
formEmpModal = {this.state.formEmpModal} // PASSING THE OBJECT TO THE MODAL
/>
export class EmployeeDetailModal extends React.Component {
constructor(props) {
super(props);
this.state = {
formEmpModal: this.props.formEmpModal
};};
console.log(this.props.formEmpModal.firstname) //THIS IS SAYING ITS UNDEFINED
Комментарии:
1. в вашем конструкторе попробуйте удалить… prevstate. и сохраняйте только this.props.formEmpModal вы также можете попробовать console.log(this.props), чтобы убедиться, что вы получаете правильные реквизиты
Ответ №1:
Вы передаете состояние неправильному компоненту
<Modal
formEmpModal = {this.state.formEmpModal} // PASSING THE OBJECT TO THE MODAL
/>
в то время как на другом конце получает его от компонента EmployeeDetailModal
Правильный способ
<EmployeeDetailModal
formEmpModal = {this.state.formEmpModal} // PASSING THE OBJECT TO THE MODAL
/>
Комментарии:
1. привет, Фахад, мои извинения в моем фактическом коде, у меня все правильно. Также у меня есть this.props.formEmpModal в EmployeeDetailModal. Это все еще не работает, я думаю, это потому, что в модальном описании сотрудника, когда я указываю объект, синтаксис неверен, даже если класс экспорта EmployeeDetailModal расширяет React. Компонент { конструктор(реквизит) { супер(реквизит); this.state = { formEmpModal: {this.props.formEmpModal } };};