React 中,如果state中有一个较深层的值改变了,怎么去setState

React 中,如果state中有一个较深层的值改变了,怎么去setState,第1张

可以直接使用react的immutability helpers

var update = require('react-addons-update');

var newData = update(thisstate, {c: {d: {1: {e: {$set: 3}}}}});

thissetState(newData)

初始化的时候Son很容易接受Dad的值 但是当 Dad赋值给Son A的值动态变化后,Son该如何将propsA传给stateA

其实问题的根本子组件和父都会修改 子组件本身的状态问题

1、在react中可以给输入控件(如input type=text)加上引用名,好获取它的输入值

例如:

2、<textarea >控件,它和input不同,它是开标签,内容是包括在<textarea >和</textarea>之间的。如果需要获取<textarea >的值,同样可以用ref来获取

例如:

注意:这里log出来的是页面用户输入后的最终文字。

3、单选radio和多选checkbox,获取它们的值最好还是用一个公共变量如state来保存,因为它们的值只能在触发事件中获取,不像text控件可以后期提交时获取。初始值可以通过 defaultChecked={true} 来设置。

radio例子:

如果是checkbox,用div包住不合适,因为div每次点击只能获取点击一次的值。所以checkbox需要写到每个checkbox 控件里面的onChange或onClick事件。可以通过一个state的数组来存储变更。checkbox例子:

以上就是关于React 中,如果state中有一个较深层的值改变了,怎么去setState全部的内容,包括:React 中,如果state中有一个较深层的值改变了,怎么去setState、react父亲怎么获取子组件的state、react.js 下获取各种input控件的值 radio、checkbox等等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9460268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存