Мне нужно щелкнуть кнопку в одном компоненте и по этому щелчку вызвать функцию из соседнего. Какой самый простой способ?
Я реализовал вот так. https://stackblitz.com/edit/react-l5beyi Но я думаю, у вас получится намного проще. React для меня в новинку, и эта конструкция выглядит странно ...
const App = () => {
const [isAdded, setIsAdded] = useState(false);
function handleClick(status) {
setIsAdded(status)
}
return (
<div>
<ComponentFirst
HandleClick={handleClick}
/>
<ComponentSecond
isAdded={isAdded}
handleCreate={handleClick}
/>
</div>
);
}
const ComponentFirst = ({ HandleClick }) => {
return (
<button
onClick={HandleClick}
>button</button>
)
}
const ComponentSecond = (props) => {
let { isAdded, handleCreate } = props;
const result = () => {
alert('work')
console.log('work')
}
React.useEffect(() => {
if (isAdded) {
result()
handleCreate(false);
}
}, [isAdded, handleCreate]);
return (
<></>
)
}