Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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
Reactjs 如果检查结果为肯定,则检查特定道具是否处于反应和设置状态_Reactjs_React Redux - Fatal编程技术网

Reactjs 如果检查结果为肯定,则检查特定道具是否处于反应和设置状态

Reactjs 如果检查结果为肯定,则检查特定道具是否处于反应和设置状态,reactjs,react-redux,Reactjs,React Redux,正如标题所述。我目前使用的componentWillReceiveProps很有效,但正如我所看到的,它将被弃用 弹出的一个建议是getDerivedStateFromProps,这不适合我,因为如果我检查特定的prop是否存在或不为null,它总是设置状态 如何实现组件WillReceiveProps在接收时进行一次检查,并使用getDerivedStateFromProps停止 PS:那个道具是从服务器接收到的身份验证令牌,在我的例子中,若有令牌,则显示公共路由导航栏项,若并没有,则显示私有

正如标题所述。我目前使用的
componentWillReceiveProps
很有效,但正如我所看到的,它将被弃用

弹出的一个建议是
getDerivedStateFromProps
,这不适合我,因为如果我检查特定的prop是否存在或不为null,它总是设置状态

如何实现组件WillReceiveProps在接收时进行一次检查,并使用
getDerivedStateFromProps
停止

PS:那个道具是从服务器接收到的身份验证令牌,在我的例子中,若有令牌,则显示公共路由导航栏项,若并没有,则显示私有路由菜单项。 登录后出现问题,必须在第一个元素(0“零”)上设置
活动
,但由于之前单击的“登录”是索引1,在显示其他菜单项后,零索引未设置为活动,但“1”索引项为活动

使用
组件将接收道具
可以解决问题,但是。。。前面说的一切

不确定它是否有任何区别,因为此菜单项过滤是在主组件中完成的,但这是使用React Redux完成的