отредактировано: решено, в аргументах отсутствуют фигурные скобки
надеюсь, вы сможете прояснить эту проблему: у меня есть родительский компонент:
function App() {
const [change, setChange] = useState(true);
const handleChange=(mode)=>{
setChange(mode);
console.log('change',change);
}
return (
<>
<Navigation modes={handleChange}/>
, и я пытаюсь отправить handlechange дочернему компоненту, чтобы изменить состояние «изменения» (извините за именование). У меня есть дочерний компонент:
export default function Navigation({modes}) {
const [mode, setMode] = useState(true);
const handleMode=(mode)=>{
setMode(mode)
}
useEffect(() => {
modes(mode);
}, [ mode ]);
return (
<div className="nav__switch">
<Switch handleMode={handleMode}/>
</div>
и последний компонент, тот, который обновит режим:
export default function Switch({modes}) {
const [mode, setMode] = useState(true);
useEffect(() => {
modes(mode)
}, [mode]);
const modeChange=()=>{
mode?setMode(false):setMode(true);
console.log(mode)
}
есть функция modeChange, которая изменяет состояние mode, который будет использоваться в качестве аргумента для функции родительского элемента, однако я получаю сообщение об ошибке, в котором говорится, что «режимы» не являются функцией, я зарегистрировал ее в консоли и вижу, что это объект со свойствами по умолчанию.
Кто-нибудь знает, что я здесь делаю не так?
спасибо