Мне было интересно, возможно ли обновить состояние несколько раз в одном событии. Скажем, у меня есть форма, в которой может потребоваться несколько inputs
для обновления одного состояния на основе некоторой логики c, как показано в следующем примере:
Состояние, определенное в родительском компоненте:
import React, { useState } from "react";
function ParentComponent() {
const [state, setState] = useState([]);
return (
<ChildComponent state={state} setState={setState} />
)};
export default ParentComponent;
Состояние обновлено в дочернем компоненте:
import React, { useState } from "react";
function ChildComponent(props) {
const onSubmit = data => {
if(someLogicHere) {
props.setState(_ => [...props.state, data]);
}
if(someOtherLogicHere) {
props.setState(_ => [...props.state, data]);
}
}
return (
//Form goes here
)};
export default ChildComponent;
При использовании этого метода только выходные данные первого оператора if
возвращаются onSubmit
и добавляются в объект состояния. Есть ли способ добавить вывод из всех возможных операторов if
?