Настройка: Я установил два реагирующих компонента в родительских дочерних отношениях. Родитель имеет состояние, которое может быть изменено нажатием кнопки на самом родителе.
Ожидаемое поведение: У ребенка у меня есть поле ввода, и я хочу, чтобы состояние изменилось на значение, которое я отправляю в поле ввода при нажатии кнопки отправки. Я настроил родителя и ребенка следующим образом:
Что я пробовал: Я прохожу этот ответ и этот YouTube видео но я думаю, что я недостаточно умен, чтобы понять это.
Вот так выглядит мой код Родитель:
class App extends Component {
state = {
value:"someValue"
};
changeValue = (value) => {
this.setState({
value
})
}
render() {
return (
<div>
<p>this is the value from state: {this.state.value}</p>
<button onClick={()=>this.changeValue("valueFromParentComponent")}>Press to change value from parent component</button>
<br/><br/>
<Child getChildInputOnSubmit={()=>this.changeValue()} />
</div>
);
}
}
А это то, что ребенок выглядит как
ребенок:
class Child extends Component {
state = {
}
sendChildData = (childInputValue) => {
console.group("This is the data from the input of the child component")
console.log("==============")
console.log(childInputValue)
console.log("==============")
}
render() {
return (
<div>
This is the child component
<br /><br />
<form>
<input type="text" placeholder="Some placeholder"></input>
<button onSubmit={this.sendChildData()} type="submit">Send child's input to parent</button>
</form>
</div>);
}
}