У меня есть массив, который я хочу сохранить в своей базе данных. У меня есть страница (родительский компонент) и форма (дочерний компонент), где мой ввод дня рождения (тот, который я сохраняю в базе данных). Элементы select html находятся в дочернем компоненте, и я беру их значения после каждого изменения. Теперь мне нужно передать полученные значения из элементов select обратно в родительский компонент и обновить массив полученными реквизитами. Я постараюсь воссоздать свой код как можно лучше:
AuthenticationPage. js (родительский):
import React from 'react';
class AuthenticationPage extends Component {
constructor(props) {
super(props);
this.state({
setMonth:null
setDay:null
setYear:null
})
}
render() {
return(
<div>
<SignupForm // This is where I call my child component
onChange={(monthValue) => this.setState({ setMonth: monthValue })}
initialValues={{
dateofbirth: [
{
month: this.state.setMonth, // This one is okey but I can use onChange just to change one state
day: this.state.setDay,
year: this.state.setYear
}
]
}}
/>
</div>
)
}
}
export default AuthenticationPage;
RegistrationForm. js (Child):
import React from "react";
import SelectSearch from "react-select-search";
const SignupForm = (props) => (
<FinalForm
{...props}
render={(fieldRenderProps) => {
const {
// Here I render props from parent component
} = fieldRenderProps;
function monthPicker(monthValue) {
props.onChange(monthValue);
// How can I update the state of setDay and setYear states in parent component
}
return (
<Form className={classes} onSubmit={handleSubmit}>
<SelectSearch
options={month}
onChange={(monthValue) => monthPicker(monthValue)} // This is ok, I change setMonth state in parent with this function
/>
<SelectSearch
options={day}
// How to work with this, this is day input
/>
<SelectSearch
options={year}
// How to work with this, this is year input
/>
</Form>
);
}}
/>
);
export default SignupForm;
Поэтому в основном я хочу обновить состояния в родительском компоненте после того, как onChange произойдет с элементами select в моем дочернем компоненте. Я новичок в React и не могу понять это целый день, поэтому любая помощь будет много значить. Спасибо, будьте в безопасности!