reactjs - 将列表项绑定到 this.state
问题描述
我有一个 Recact 组件定义为:
export default class App extends React.Component<AppProps, Items>
该类Items
定义为:
export default class Items extends Array<Item>
而这Item
只是一个具有一堆属性的类。
如果在render()
我将列表直接绑定到我的Items
对象,即。
<List items={myItems} onRenderCell={this._onRenderCell} />
列表显示正确,但是如果我this.setState(myItems)
然后尝试将列表绑定到状态:
<List items={this.state} onRenderCell={this._onRenderCell} />
我得到编译时错误:
类型 'Readonly' 缺少类型 'any[]' 的以下属性:[Symbol.iterator]、[Symbol.unscopables]
我该如何解决?
解决方案
我找到了一个简单的解决方案......我创建了一个新类型:
type ItemsState = {
items: Items
}
然后更改我的组件以将其用作状态:export default class App extends React.Component<AppProps, ItemsState>
推荐阅读
- ios - 在Objective-C中使用DataDetector将NSTextCheckingResult addressComponents字典转换为字符串
- node.js - Heroku Postgres 中的 Sequelize 迁移:错误链
- java - 不可变模式要求
- three.js - THREE.JS - 如何检测设备性能/能力并相应地服务场景元素
- android - 如何在不支持 ACTION_OPEN_DOCUMENT 的应用程序中使用持久 URI
- python - 在python问题中合并两个列表
- windows - 如何移动 Vagrant 环境?
- node.js - 使用 solr-node 进行分面搜索
- r - 带有 R 的状态转换图
- codeigniter - CI和在join上