sách gpt4 ai đã đi

reactjs - {...{ key }} có giống với key={key} để gán thuộc tính React không?

In lại 作者:行者123 更新时间:2023-12-03 13:49:18 31 4
mua khóa gpt4 Nike

我是 React 的初学者开发人员,几天前我看到了一些我不理解的有趣语法。

View组件上有{...{key}},我会写成 key={key} ,它完全一样吗?你有链接或解释吗?

  render() {
const { tasks } = this.props;
trở lại (

{
tasks.map((task, key) => {
trở lại (



);
})
}

);
}

1 Câu trả lời

想想您提供给 的属性作为 Prop 的对象。可以说

var variable = 2

写作 本质上,就像写作:

// value={variable} is the same as {value: variable}

props = {
value: 2
}

但是,写使得声明属性名称的效率降低,除非指定,否则它将始终与变量名称相同:

// {...{variable}} spreads out into {variable: variable}

props: {
variable: 2
}

// {...{value: variable}} spreads out into {value: variable}
// which is a slower way of writing value={variable}

第二种语法的唯一实际用例之一是快速传递您希望保持相同名称的多个变量:


// rather than

但是,此语法的一个主要缺点是,如果不声明属性名称,则无法编辑变量本身。例如,您可以使用第一种语法编写:

value={variable + 2}

但你不能写:

{...{variable + 2}}

属性名称在哪里?你必须写:

{...{value: value + 2}}

这又是编写第一个语法的较慢方式。

<小时>

扩展语法的一个稍微不同的用例是一次传递多个对象属性。例如,假设我们有这个对象:

var người dùng = {
firstName: 'foo',
lastName: 'bar',
email: 'foo@bar.com',
}

而不是写:


我们可以简单地写:


<小时>

TL;DR
总的来说,为了编写只想传递到下一个组件的长变量列表,请使用扩展语法( {...{variable1, variable2}} ),否则,请使用常规语法( value={variable} ),因为您将拥有更多控制权至于你传递给组件的内容。

关于reactjs - {...{ key }} 与 key={key} 相同来分配 React 属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56984718/

31 4 0
Bài viết được đề xuất: macos - 防止 "echo"解释反斜杠转义
Bài viết được đề xuất: reactjs - 找不到 BufferedConsole 模块
Bài viết được đề xuất: reactjs - 使 React AppBar 和 SplitPane 适合而不需要滚动条
Bài viết được đề xuất: javascript - 如何在 React Final Form 之外管理状态?
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com