您的位置:首页 > 其它

rn学习个人问题汇总

2017-11-30 17:09 218 查看
1. react-navigation 其中的stack和tab栈能否动态配置? 如何做?

2. 以下的代码里的setState如何理解?
constructor(props) {
super(props);
this.state = { showText: true };

// 每1000毫秒对showText状态做一次取反操作
setInterval(() => {
this.setState(previousState => {
return { showText: !previousState.showText };
});
}, 1000);
}
http://blog.csdn.net/juzipchy/article/details/75453860

问题2的回答: (prevState, props) 这里如果是一个参数,那么就是prevState; 设置的实际上是this.state.showText; 而且这个方法是同步执行。
this.setState((prevState, props) => ({ counter: prevState.counter + props.increment}));

update:为什么要加return? 需要实践确认。
可以不加return,改成另外一种形式:
this.setState(previousState => ({ showText: !previousState.showText }));

参考以下的文档:https://reactjs.org/docs/state-and-lifecycle.html
实际测试,下面两种写法都是可行的,效果和上面的一致:

this.setState(previousState => ({ showText: !previousState.showText }));
this.setState(previousState => { showText: !previousState.showText });

下面这种用法也需要实践: state, 基础的基础。

在回调中调用设置好的state
this.state = {foo: 2};
this.setState({foo: 123}, ()=> {
console.log(foo);
// 123
});
1
2
3
4
5
关于setState的回调函数的作用大概如此,这个函数相当于componentDidUpdate函数,和生命周期的函数类似。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: