Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从另一个钩子访问setState方法_Javascript_Reactjs_Jsx - Fatal编程技术网

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