相关疑难解决方法(0)

如何更新React中的嵌套状态属性

我试图通过使用这样的嵌套属性来组织我的状态:

this.state = {
   someProperty: {
      flag:true
   }
}
Run Code Online (Sandbox Code Playgroud)

但是像这样更新状态,

this.setState({ someProperty.flag: false });
Run Code Online (Sandbox Code Playgroud)

不起作用.怎么能正确完成?

javascript setstate ecmascript-6 reactjs

288
推荐指数
13
解决办法
18万
查看次数

什么是在ReactJS中更新数组中对象的最佳方法?

如果你有一个数组作为你的状态的一部分,并且该数组包含对象,那么通过更改其中一个对象来更新状态是一种简单的方法吗?

示例,从反馈教程中修改:

var CommentBox = React.createClass({
  getInitialState: function() {
    return {data: [
      { id: 1, author: "john", text: "foo" },
      { id: 2, author: "bob", text: "bar" }
    ]};
  },
  handleCommentEdit: function(id, text) {
    var existingComment = this.state.data.filter({ function(c) { c.id == id; }).first();
    var updatedComments = ??; // not sure how to do this  

    this.setState({data: updatedComments});
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

48
推荐指数
4
解决办法
4万
查看次数

JavaScript - 复制对象数组并在不修改原始数组的情况下进行更改

我有一个对象数组.我想深度复制对象数组并对每个对象进行一些更改.我想这样做而不修改原始数组或该数组中的原始对象.

这就是我做的方式.但是,作为JavaScript的新手,我想确保这是一个很好的方法.

有一个更好的方法吗?

const users = 
[
    {
        id       : 1,    
        name     : 'Jack',
        approved : false
    },
    {
        id       : 2,    
        name     : 'Bill',
        approved : true
    },
    {
        id       : 3,    
        name     : 'Rick',
        approved : false
    },
    {
        id       : 4,    
        name     : 'Rick',
        approved : true
    }
];


const users2 = 
    users
        .map(
            (u) => 
            {
                return Object.assign({}, u);
            }
        )    
        .map(
            (u) => 
            {
                u.approved = true;
                return u;
            }
        );    


console.log('New users2 array of …
Run Code Online (Sandbox Code Playgroud)

javascript arrays immutability ecmascript-6

6
推荐指数
3
解决办法
4329
查看次数