Я пытаюсь отправить функцию handleChange () в двух компонентах как реквизит , но ввод Materialize не позволяет печатать, то есть handleChange () не пройдено.
Чего может не хватать, потому что я вижу, что весь поток правильный. Ниже приведены мои компоненты и их потоки.
Это компонент ViewAllComments , который отправляет handleChange
в качестве реквизита
class ViewAllComments extends React.Component {
constructor(props) {
super(props);
this.state = {
body: ''
};
this.handleChange = this.handleChange.bind(this);
}
handleChange = (e) => {
this.setState({body: e.target.value});
};
render() {
const { comments } = this.props.article;
return (
<div>
<ViewListComments
comments={comments}
handleChange={this.handleChange}
clearHandler={this.clearHandler}
deleteComment={this.deleteComment}
modalCallEdit={this.modalCallEdit}
editComment={this.editComment}
body={this.state.body}
/>
</div>
);
}
}
Затем, это второй функциональный компонент, который получает функцию handleChange
в качестве опоры, как вы можете видеть в ViewComments компонент:
const ViewListComments = props => (
<div>
<Modal
id='foo'
actions=""
className={styles['align-edit-modal']}
header=''>
<ViewComments
handleSubmit={props.modalCallEdit}
value={comment.body}
handleChange={props.handleChange}
buttonsStyles={`row right ${styles['edit-buttons-styles']}`}
labelComment={'Edit Comment'}
buttonText={'Edit'}
cancelText={'Cancel'}
handleCancel={props.clearHandler}
/>
</Modal>
</div>
);
Затем, наконец, это третий компонент, который получает, который получает ту же функцию handleChange, что и реквизит, который вы можете видеть на входе свойства onChange
.
const ViewComments = props => (
<div>
<div className='row'>
<div className="input-field col s6 l9">
<input id="body" type="text" name='body' onChange={props.handleChange} value={props.value} className="validate" >
</input>
<label className='active' htmlFor="comments">{props.labelComment}</label>
<div className={styles['error-text-comment']}>{props.commentError}</div>
</div>
</div>
</div>
);
};
Со всем этим потоком я ожидал, что мой ввод в Materialize позволит мне начать печатать, так как handleChange отправлен, и я думаю, что он получен.