Event Listener用于React中另一个组件中的按钮点击



我在React中使用MapBox,它有一个导航栏父节点。我在导航栏组件中有一个按钮,通过改变它的类来折叠导航栏,当这个按钮被按下时,我还想在地图组件中执行下面的代码。

map.easeTo({
padding: {left:300},
duration: 1000
});

我觉得函数addEventListener()可以完成这一点,然而导航条和地图是两个不同的js文件中的独立组件。

谢谢你的帮助。

将它们都包装在父组件中,该父组件保留导航栏状态,然后将该状态和状态设置器传递给两个子组件。你也可以使用上下文,但是在那种嵌套层次上,它有点多余了

的例子:

const Layout = () => {
const [isExpanded, setIsExpanded] = useState(false);
return {
<>
<Navbar isExpanded={isExpanded} setIsExpanded={setIsExpanded} />
<Map isExpanded={isExpanded} setIsExpanded={setIsExpanded} />
</>
}
}

最新更新