【发布时间】:2021-10-27 15:28:17
【问题描述】:
我目前正在通过使用回调访问子组件中父组件的状态,但我不太确定它是如何工作的:
export default function parentComponent({ type }) {
const
[inEditMode, setInEditMode] = useState(false)
return (
<>
<div className={containerCssClasses}>
<childComponent onCancel={() => { setInEditMode(false); }} type={type} />
这里,父组件调用子组件,并将匿名函数传递给组件以供其回调。
在子组件中:
function childComponent({onCancel}) {
return (
<div>
<Button onClick={() => onCancel()} variant="link" >
</div?
);
}
如果子组件无权访问 setInEditMode(),我有点困惑如何才能正常工作。我了解将函数传递给另一个函数(在本例中为组件)时,它是通过引用传递的。但这是否一定意味着该函数中的所有变量也都通过引用传递?我是反应新手(和 javascript),但是当我查找这个概念时,我找不到很好的解释。
【问题讨论】:
标签: javascript reactjs callback