【发布时间】:2019-12-18 12:31:20
【问题描述】:
我正在学习 react 并陷入以下代码行:
const { 收藏夹 } = this.state
有人可以帮帮我吗?
【问题讨论】:
-
相当于
const favourites = this.state.favourites。阅读解构分配developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: reactjs
我正在学习 react 并陷入以下代码行:
const { 收藏夹 } = this.state
有人可以帮帮我吗?
【问题讨论】:
const favourites = this.state.favourites。阅读解构分配developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: reactjs
这不是 React 特有的,它是一种称为解构的 JavaScript (ES6) 功能:
【讨论】:
这意味着 const favorites 等于组件状态中收藏夹的值。所以如果状态下favorites的值是22,那么const favorite就等于22。
const { favourites } = this.state
和
一样const favourites = this.state.favourites
【讨论】:
const favourites 的值将是 23
另外,重要的一点是,通过使用 const,您将 state.favorites 属性设置为只读。此外,您可以将其用于任何对象。假设我有一个包含employeeId、lastName、firstName props 等的员工对象。假设我得到一个员工对象数组,我可以使用这个构造来大大简化代码。
render() {
const {UserName, EmailAddress, AccountCreated, PasswordChanged, AccountName,
Locked, Enabled} = this.props.ewdsUser;
return (
<tr>
<td>{UserName}</td>
<td>{EmailAddress}</td>
<td>{AccountCreated}</td>
<td>{PasswordChanged}</td>
<td>{Locked}</td>
<td>{Enabled}</td>
这使我不必这样做:
render() {
return (
<tr>
<td>{this.props.UserName}</td>
<td>{this.props.EmailAddress}</td>
<td>{this.props.AccountCreated}</td>
<td>{this.props.PasswordChanged}</td>
<td>{this.props.Locked}</td>
<td>{this.props.Enabled}</td>
【讨论】: