学习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组件里面的任何东西的,页面的结果都是从原始数据里面渲染出来的。所以,当我要想修改这些数据的时候,不要再想着怎么更改这些标签里面的值,而要从原始数据里面更改