React 中 props 和 state 的区别是什么? 下面本篇文章给大家介绍一下. 有一定的参考价值, 有需要的朋友可以参考一下, 希望对大家有所帮助.
props:
props 是一个从外部传进组件的参数, 由于 React 具有单向数据流的特性, 所以他的主要作用是从父组件向子组件中传递数据, 它是不可改变的, 如果想要改变它, 只能通过外部组件传入新的 props 来重新渲染子组件, 否则子组件的 props 和展示形式不会改变, props 除了可以传字符串, 数字, 还可以传递对象, 数组甚至是回调函数
state:
state 主要作用是用于组件保存, 控制及修改自己的状态, 它只能在 constructor 中初始化, state 是可以被改变的, state 放改动的一些属性, 比如点击选中, 再点击取消, 类似这种属性就放入带 state 中, 注意: 没有 state 的叫做无状态组件, 多用 props 少用 state, 多写无状态组件, 注意: 修改 state 的值时, 必须通过调用 setState 方法, 当我们调用 this.setState 方法时, React 会更新组件的数据状态, 并且重新调用 render 方法
React 中 props 和 state 的区别
props 不可以在组件内部修改, 但 state 可以在组件内部修改
可以从父组件修改自组件的 props, 而不能从父组件修改自组件的 state
React 中 props 和 state 的相同点
props 和 state 都是导出 html 的原始数据.
props 和 state 都是确定性的, 如果我们写的组件为同一 props 和 state 的组合生成了不同的输出, 那木我们肯定在哪里做错了
props 和 state 都会触发渲染更新
props 和 state 都是纯 JS 对象 (用 typeof 来判断, 结果都是 object)
可以从父组件得到初始值 props 和 state 的初始值
更多 web 前端开发 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/react/17095.html