Javascript 如何从React中的另一个同级组件触发同级组件函数?
在React中,我有一个父组件和三个同级组件,例如:Javascript 如何从React中的另一个同级组件触发同级组件函数?,javascript,reactjs,Javascript,Reactjs,在React中,我有一个父组件和三个同级组件,例如: <div> <Component1/> <Component2/> <Buttons/> </div> 我想从组件触发和中定义的函数。目前我正在使用useImperialiveHandle和forwardRef从和导出函数,并通过道具将它们传递给组件 这是可行的,但似乎不是最好的方法。如果我不想将和函数和状态处理移动到父组件,那么建议使用哪种反应模式来执行此操
<div>
<Component1/>
<Component2/>
<Buttons/>
</div>
我想从
组件触发
和
中定义的函数。目前我正在使用useImperialiveHandle
和forwardRef
从
和
导出函数,并通过道具将它们传递给
组件
这是可行的,但似乎不是最好的方法。如果我不想将
和
函数和状态处理移动到父组件,那么建议使用哪种反应模式来执行此操作?我会建议将状态移动到父组件,但由于您不愿意,因此可以使用带有挂钩的上下文
创建上下文
export const AppContext=React.createContext()代码>
在需要时使用它(导入上下文并使用上下文优先)
const{state,dispatch}=useContext(AppContext)代码>
官方文档:这感觉比UseImportiveHandle和forwardRef魔术更令人讨厌,尽管如此,我发现答案很有用——我不知道(ab)使用带有挂钩的上下文有多容易。