Javascript 从另一个钩子访问setState方法
我正在创建一个组件Javascript 从另一个钩子访问setState方法,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,我正在创建一个组件提示符,它出现在某些事件上 const提示符=()=>{ [visibility,setVisibility]=React.useState('hidden'); 返回( 一些内容。。。 ) } 例如,当按下按钮时,提示符组件可能会出现,因此我可以在提示符中包含一个调用setVisibility的按钮 常量提示符=()=>{ [visibility,setVisibility]=React.useState('hidden'); 返回( 一些内容。。。 { 设置可见性(()
提示符
,它出现在某些事件上
const提示符=()=>{
[visibility,setVisibility]=React.useState('hidden');
返回(
一些内容。。。
)
}
例如,当按下按钮时,提示符
组件可能会出现,因此我可以在提示符中包含一个调用setVisibility
的按钮
常量提示符=()=>{
[visibility,setVisibility]=React.useState('hidden');
返回(<>
一些内容。。。
{
设置可见性(()=>“可见”)
}}
>
单击以显示提示
)
}
但是,我想让这个提示符
组件比只在单击按钮时出现更一般
我希望能够从钩子外部设置提示的可见性。类似于:(显然,这个例子毫无意义)
const提示符=()=>{
[visibility,setVisibility]=React.useState('hidden');
返回(
一些内容。。。
)
}
常量ShowPromptButton=()=>(<>
{
Prompt.setVisibility(()=>“visibile”)
}}
>
单击以显示提示
)
我该怎么做
编辑:
\u可见性
是一个属性,用于更改
的样式。您可以在react中使用道具钻孔
更改React.useState('hidden')代码>通过将“隐藏”替换为道具值(例如-React.useState(props.open))来动态化代码>
在调用组件时,还有一个状态(promptOpen
,默认情况下false
),可以通过在单击按钮时更新状态将其设置为true
最后,对于泛型,在所有其他组件中使用
hmm,为了保持简单,可以使用道具,否则也可以使用状态管理工具,如redux