在 react-native 中显示/隐藏状态更改的组件时出错
Posted
技术标签:
【中文标题】在 react-native 中显示/隐藏状态更改的组件时出错【英文标题】:Error showing/hiding component with state change in react-native 【发布时间】:2016-08-08 11:45:49 【问题描述】:我正在尝试在我的 react 本机应用程序中选择性地显示/隐藏一个组件。我正在使用的代码的精简版受到Hide/Show components in react native 的启发。代码如下:
'use strict';
var React = require('react-native');
var
Text,
Navigator,
= React;
class SomePage extends Component
constructor(props)
super(props);
this.state =
showView : true,
;
render()
return (
<Navigator
renderScene=this.renderScene.bind(this)
/>
);
testRender()
return (
<Text>ShowView: this.showView</Text>
)
renderScene(route, navigator)
if (this.state.showView)
return (this.testRender.bind(this))
else
return (<Text>ShowView: this.showView</Text>)
不幸的是,该代码无法正常工作,并在
上引发“意外令牌错误”return (this.testRender.bind(this))
如果我把这一行写成
return (this.testRender.bind(this))
错误消失了,但我只是得到一个空白屏幕。知道我在这里做错了什么吗?
【问题讨论】:
【参考方案1】:bind 在这里不是正确的方法。您需要调用该函数。
renderScene(route, navigator)
if (this.state.showView)
return this.testRender();
else
return (<Text>ShowView: this.showView</Text>)
【讨论】:
老兄!太感谢了!这让我转了几个小时!以上是关于在 react-native 中显示/隐藏状态更改的组件时出错的主要内容,如果未能解决你的问题,请参考以下文章
为啥组件在状态更改后不重新渲染。在 react-native 函数组件中
在 react-native 中隐藏和显示带有动画的 createBottomTabNavigator 选项卡栏
TextInput 在 react-native 中隐藏在键盘后面