在将状态传递到setState时,何时包含括号



下面显示的是我的react组件中一个函数的声明片段:

increment() {
this.setState(state => ({
count: state.count + 1
}));
}

请注意,箭头后面有一个括号。我不明白为什么没有括号这个代码就不能工作,因为在另一个类似的情况下不需要它:

toggleVisibility() {
this.setState(state => {
if (state.visibility === true) {
return { visibility: false };
} else {
return { visibility: true };
}
});
}

我什么时候使用括号

我是一个自学成才的程序员,请善待我!非常感谢。

这不是真正的react,而是一种javascript语法。使用括号是返回对象的快捷方式。

例如,

const items = [1, 2, 3, 4, 5]
const withParenthesis = items.map((item) => ({item}));
// is the same with
const withoutParenthesis = items.map((item) => {
return {item};
})

请记住,当不使用({})时,您需要返回manually

最新更新