zoukankan      html  css  js  c++  java
  • react native中对props和state的理解

    最近使用react native这个新的技术做完一个项目,所以赶紧写个博客巩固一下。

    今天我想说的是props和state,当然这是我个人的理解,如果有什么不对的地方,望指正。

    首先我先说说props。先看看官网是怎么介绍的:大多数组件在创建时就可以使用各种参数来进行定制。用于定制的这些参数就称为props(属性)。比如说除了组件本身的一些属性外,今天我想说一下这个使用props来进行传递数据。

    class LotsOfGreetings extends Component {
      render() {
        return (
          <View style={{alignItems: 'center'}}>
            <Greeting name='Rexxar' />
            <Greeting name='Jaina' />
            <Greeting name='Valeera' />
          </View>
        );
      }
    }

    上面这个组件,name我们就是通过这个props进行传递的,在Greeting页面中通过this.props.name来获取,注意这里的名称name一定要相同,否则会找不到,对于初学着来说,像我刚刚接触的时候,我是这样获取的,let name = this.props;注意,这样是会报undefind这个错误,
    必须要这样才能获取到,let {name} = this.props;
    props对于初学者来说,因为我是做android的,所以刚刚接触props我是将它理解为类似于android中的bundle,这样的一个包。



    下面说一下这个state,先看看官网上是怎么说的:我们使用两种数据来控制一个组件:propsstateprops是在父组件中指定,而且一经指定,在被指定的组件的生命周期中则不再改变。 对于需要改变的数据,我们需要使用state。这是官网的原话。我们知道这个组件是有生命周期的,但是有时候我们想改变某些数据,比如某时候对某些控件的隐藏与显示。
    最直观的理解,你可以这样理解,状态,控件都是有状态的,我们通过状态的改变从而刷新整个页面。state值一单会有改变,系统就会刷新,从未实现数据的更新。



  • 相关阅读:
    css换行
    <a>标签里的<img>标签点击虚线框
    iframe子页面调用父页面元素
    快捷键
    用css绘制三角形
    解决div被embed,object覆盖问题
    一些兼容问题
    兼容padding
    记一次用html2canvas将页面内容生成海报并保存图片到本地
    PUPPETEER安装遇到 ERROR:CHROMIUM REVISION IS NOT DOWNLOADED.的解决办法
  • 原文地址:https://www.cnblogs.com/huangjialin/p/6019978.html
Copyright © 2011-2022 走看看