rn学习个人问题汇总

来源:互联网 发布:水准仪测量数据 编辑:程序博客网 时间:2024/06/05 14:51

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函数,和生命周期的函数类似。

原创粉丝点击