Я создал дочерний компонент и хочу изменить родительское состояние с помощью параметра из текстового поля дочернего элемента, когда нажимаю кнопку дочернего элемента. Я передаю функцию дочернему компоненту. После нажатия кнопки изменилось состояние, изменился HTML-контент, но после этого веб-сайт перезагрузился, и состояние вернулось к исходному значению.
Это основной класс
class Main extends React.Component {
constructor() {
super();
this.state = {
samples: 5
};
}
setSamplesHandler(value) {
this.setState({samples: value})
}
render() {
return (
<div>
<ControlBoard status={status} setSamplesHandler={this.setSamplesHandler.bind(this)}/>
</div>
);
}
}
export default Main;
Это детский класс
class ControlBoard extends React.Component {
constructor(){
super();
this.state = {
tempSamples: 0
};
}
changeTextBox(){
this.setState({tempSamples: event.target.value})
}
onClickSet() {
this.props.setSamplesHandler(this.state.tempSamples);
}
render() {
return(
<div>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="search" placeholder={this.props.status.samples} aria-label="set" onChange={this.changeTextBox.bind(this)}/>
<button class="btn btn-outline-success my-2 my-sm-0" onClick={this.onClickSet.bind(this)}>Set</button>
</form>
</div>
);
}
}
export default ControlBoard;
Пожалуйста, помогите мне !!