Взаимодействие функций
let test = (o) => {
console.log(o);
}
function LeftMainNav(){
let [open, setOpen] = useState(false);
}
как можно из test изменить значение setOpen на true?
Ответы (1 шт):
Автор решения: Konstantin Modin
→ Ссылка
Если мы имеем дело с Реакт, можно сделать так: в <LeftMainNav/> рендерим компонент <Test/> в props которого передаём setOpen. Далее в компоненте <Test/> зызываем setOpen в функции test которая вызывается при нажатии кнопки.
import React, { useState } from "react";
function LeftMainNav() {
let [open, setOpen] = useState(false);
return (
<div>
<h4>LeftMainNav</h4>
<h3>Open is: {open.toString()}</h3>
<Test setOpen={setOpen} />
</div>
);
}
export default LeftMainNav;
const Test = ({ setOpen }) => {
let test = (o) => {
setOpen(true);
console.log(o);
};
return <button onClick={test}>Run test function</button>;
};
Чтобы open менялся с false на true и обратно можно написать так:
let test = (o) => {
setOpen((open) => !open);
console.log(o);
};