React中的state与props的再理解

props可以看做是 property 的缩写的复数,可以翻译为属性,类似于HTML 标签的自定义属性。在大多数React教程里讲

state 和 props 主要的区别在于 props 是不可变的,而 state 可以根据与用户交互来改变。其实这种说法有问题。可以参考一篇文章《React中state与props介绍与比较》

组件中的props本质作用是一种父级向子级传递数据的方式。props是可以改变的,只是没有提供API可以在子组件里直接修改,我们可以在父组件里把要给子组件的属性值修改。

        var WebSite = React.createClass({
            getInitialState() {
                return ( {
                    name: ‘二手车‘,
                }
                );
            },
            onPress() {
                this.setState({
                    name: ‘新的‘ + this.state.name,
                })
            },

            render() {
                return (
                    <div onClick={this.onPress} >
                        <Name name={this.state.name} />
                    </div>
                );
            }

        });

        var Name = React.createClass({
            render() {
                return (
                    <h1>{this.props.name}</h1>
                );
            }
        });

        ReactDOM.render(
            <WebSite />,
            document.getElementById(‘example‘)
        )

 

时间: 2024-08-07 07:09:32

React中的state与props的再理解的相关文章

React中的State与Props

一.State 1.什么是 state 一个组件的显示形态可以由数据状态和外部参数决定,其中,数据状态为 state,外部参数为 props 2.state 的使用 组件初始化时,通过 this.state 给组件设置一个初始的 state,在第一次 render 时就会用这个数据渲染组件 class ItemList extends React.Component { constructor() { super(); this.state = { data: '123' }; } render

react中使用prop-types检测props数据类型

一.为什么使用prop-types 在多人开发时,当被人使用自己定义的组件时,有可能出现类型传错的情况,而在自己的组件上加上prop-types,他可以对父组件传来的props进行检查,加入父组件中想传递的是字符串类型‘3’,而传递了一个数字类型3,如果没有类型检查系统不会给与提示,但是有了类型检查以后,再控制台会给你一个类型传递错误的提示.这样在工作中可以快速找到错误. 二.学习文档 https://www.npmjs.com/package/prop-types npm官网https://r

如何理解react中的super(),super(props)

用es6的class(类)的方法创建组件: 子类继承父类的属性:需要使用super()继续父类的属性,同时创建this(子类本身没有this); 如果像上图一样需要定义props的属性 this.props.xixi="哈哈",则需要用 super(props) 如果不定义props的属性,只定义状态this.state ,就可以直接super(); 这是为什么呢? 其实很简单,因为this.props必须要是一个对象,才能在它下面定义属性 而constructor(props){}传

React中state和props分别是什么?

[转]https://segmentfault.com/a/1190000011184076 整理一下React中关于state和props的知识点. 在任何应用中,数据都是必不可少的.我们需要直接的改变页面上一块的区域来使得视图的刷新,或者间接地改变其他地方的数据.React的数据是自顶向下单向流动的,即从父组件到子组件中,组件的数据存储在props和state中,这两个属性有啥子区别呢? props React的核心思想就是组件化思想,页面会被切分成一些独立的.可复用的组件. 组件从概念上看

Immutable 详解及 React 中实践

本文转自:https://github.com/camsong/blog/issues/3 Shared mutable state is the root of all evil(共享的可变状态是万恶之源) -- Pete Hunt 有人说 Immutable 可以给 React 应用带来数十倍的提升,也有人说 Immutable 的引入是近期 JavaScript 中伟大的发明,因为同期 React 太火,它的光芒被掩盖了.这些至少说明 Immutable 是很有价值的,下面我们来一探究竟.

React中Props 和 State用法

React中Props 和 State用法 1.本质 一句话概括,props 是组件对外的接口,state 是组件对内的接口.组件内可以引用其他组件,组件之间的引用形成了一个树状结构(组件树),如果下层组件需要使用上层组件的数据或方法,上层组件就可以通过下层组件的props属性进行传递,因此props是组件对外的接口.组件除了使用上层组件传递的数据外,自身也可能需要维护管理数据,这就是组件对内的接口state.根据对外接口props 和对内接口state,组件计算出对应界面的UI=>UI = C

【React自制全家桶】四、React中state与props的分析与比较

一.state 1.state的作用 state是React中组件的一个对象.React把用户界面当做是状态机,想象它有不同的状态然后渲染这些状态,可以轻松让用户界面与数据保持一致. React中,更新组件的state,会导致重新渲染用户界面(不要操作DOM).简单来说,就是用户界面会随着state变化而变化. 2.state工作原理 常用的通知React数据变化的方法是调用setState(data,callback).这个方法会合并data到this.state,并重新渲染组件.渲染完成后,

React应用程序设计过程中如何区分模块到底是state还是props?

根据官方文档,满足以下任意条件的模块,就不是State,原文如下: 1.Is it passed in from a parent via props? If so, it probably isn't state. 2.Does it remain unchanged over time? If so, it probably isn't state. 3.Can you compute it based on any other state or props in your componen

react中constructor和super()以及super(props)的区别。

react中这两个API出镜率超级高,但是一直不太懂这到底是干嘛的,有什么用:今天整理一下,方便自己查看同时方便大家. 1.constructor( )-----super( )的基本含义 constructor( )--构造方法 这是ES6对类的默认方法,通过 new 命令生成对象实例时自动调用该方法.并且,该方法是类中必须有的,如果没有显示定义,则会默认添加空的constructor( )方法. super( ) --继承 在class方法中,继承是使用 extends 关键字来实现的.子类