关于props和state一些观点。

学了react native 有小两个星期的时间了。一直在中文社区看一些人们常犯的错误,和对一些三方组件的学习。在之前的学习中有很多问题,也是一直慢慢看文档来解决。

从一开始的基本组件的学习,navigator跳转,到后来的传参,写方法解决安卓和IOS原生开发的一些问题,今天在这里说说关于两个基本 props 和 state 的一些个人的观点。

说到props ,官方文档有这样的说明,


当给组件自定义属性的时候,在项目里通常我们也是会这样做,自定义一个组件,然后,moudle.exports = XXX(组件名) ,这样使得后期维护,和代码的可读性更强。官方文档是这样说明的,然而当实际使用的时候,我们往往需要定义出这样的属性,在ES5里,我们有getDefaultProps 和 getInitState 两个方法,

在ES6里State放在了构造函数里。而Props我查阅好多资料,下面贴出,我在ES6关于定义Props的方法


值得注意的地方:

1 在组件内部的使用static

static defaultProps = {

    name: ... }

2 在组件外部

 Hello.defaultProps = {

name: ... }

方法里用的是在组件内部,还有可以在组件外部调用属性。




而state 在官方最新的0.43文档里是:

我们使用两种数据来控制一个组件:props和state。props是在父组件中指定,而且一经指定,在被指定的组件的生命周期中则不再改变。 对于需要改变的数据,我们需要使用state。

一般来说,你需要在constructor中初始化state(译注:这是ES6的写法,早期的很多ES5的例子使用的是getInitialState方法来初始化state,这一做法会逐渐被淘汰),然后在需要修改时调用setState方法。



state有太多需要注意和说明的地方,这我会在之后的文章里慢慢通过项目的例子来更好的解释清除state的问题和需要注意的地方。

以上只是我个人的一些观点,希望有看到的大神,多多给点建议,不足的地方还有很多。学习的路还有很长。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容