Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用多个值反应本机设置状态_Javascript_Reactjs_React Native_Ecmascript 6_Setstate - Fatal编程技术网

Javascript 使用多个值反应本机设置状态

Javascript 使用多个值反应本机设置状态,javascript,reactjs,react-native,ecmascript-6,setstate,Javascript,Reactjs,React Native,Ecmascript 6,Setstate,我在构造函数中这样定义我的状态 constructor(props) { super(props); this.state = { order: props.data ? { ...props.data } : { title: '', birthdate: '' , gender: '', startdate: '', starttime: '', brand: null}, 然后在另一个函数中,我尝试只为order.brand设置state this.set

我在构造函数中这样定义我的状态

  constructor(props) {
    super(props);
    this.state = {
    order: props.data ? { ...props.data } : { title: '', birthdate: '' , gender: '', startdate: '', starttime: '', brand: null},
然后在另一个函数中,我尝试只为order.brand设置state

  this.setState({
    //order: { brand: items[0].title },
    order: { ...order, brand: items[0].title },
  });
注释行覆盖所有元素,第二行返回未定义的顺序


仅保存一个具有多个值的状态项的正确语法是什么。

如注释中所述,您可以使用
update
修改对象值:

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

this.setState(function(previousState, currentProps) {
    var newState = update(previousState,{
        order: {
            brand: {
                $set: 'some new value'
            }
        }
    });

    return newState;
});

请参见

,只是为了说明错误存在的原因,在使用顺序的地方,顺序可能实际上是未定义的


您想尝试使用
{…this.state.order}

您是否尝试在订单上分配状态或使用?意外标记{