react初学,求助这段代码怎么理解?

小刘
  • 530

问题1

下面这两段代码的区别是什么,为什么一个用({}),另外一个不用

toggleTodo = id => ({
    type: 'TOGGLE_TODO',
    id
});
toggleToChange = (id)=> {
    return {
        type: 'TOGGLE_TO_CHANGE',
        id
    }
};

问题2

this.setState({
            showPageGroup: showPageGroup,
            showPageNumber: showPageNumber,
            ellipsisNumber: ellipsisNumber,
            endGetIndex: endGetIndex,
            arrowShow: arrowShow,
            userKeyValue: userKeyValue
        })

这种setState,怎么优化合并?

回复
阅读 951
1 个回答
  1. 两段代码没有区别,都是定义一个返回对象的方法。不同点就在于箭头函数的理解。如果箭头函数需要执行多条语句,则需要用大括号包裹起来。然而大括号又会被认为是一个对象字面量,这样子就会冲突。所以当需要直接返回对象字面量的时候用()括起来,也可以在{}里面显示返回。

2.

this.setState({
            showPageGroup,
            showPageNumber,
            ellipsisNumber,
            endGetIndex,
            arrowShow,
            userKeyValue
        })
宣传栏