react.js学习之路六

学习react中,我一直认为,总组件里面才有构造函数,但是我才发现我的观点是错误的,构造函数是可以出现在子组件里面的。

今天有一个错误是点击增加/减少input框里面 的数值

我一直在寻找input框里面的数值,也就是value值,我发现我的思维错误的很彻底。react只是view,是不能操作数据的,只能渲染原始数据的变化,换句话说就是我要改变数值,只能改变原始数据里面的值,然后重新渲染到input框里面。

我的原始数据,给了

value:1;

当点击时候,构造函数

add(e){

  var num = this.state.value;   //首先得到原始的value值   

  num ++;   //我每次点击都是给原始的值,增加1

  this.setState({    //重新渲染数据

    value:num

  })

}

等于说,我根本就没有获得过input框里面的值,input框里面的值,都是渲染出来,我更改的也是原始值。

所以,我以后的思维要转变一下,我是根本得不到dom组件里面的任何东西的,页面的结果都是从原始数据里面渲染出来的。所以,当我要想修改这些数据的时候,不要再想着怎么更改这些标签里面的值,而要从原始数据里面更改

原文地址:https://www.cnblogs.com/liumcb/p/6647369.html