javascript - 一些 ReactNative 东西的困惑
问题描述
下面是 React Native 环境的代码。我可以看到创建了一个主组件应用程序。它里面有状态。但是,混淆使用状态的实际目的是什么。
import React from 'react';
class App extends React.Component {
constructor() {
super();
this.state = {
data:
[
{
"id":1,
"name":"Foo",
"age":"20"
},
{
"id":2,
"name":"Bar",
"age":"30"
},
{
"id":3,
"name":"Baz",
"age":"40"
}
]
}
}
render() {
return (
<div>
<Header/>
<table>
<tbody>
{this.state.data.map((person, i) => <TableRow key = {i}
data = {person} />)}
</tbody>
</table>
</div>
);
}
}
class Header extends React.Component {
render() {
return (
<div>
<h1>Header</h1>
</div>
);
}
}
class TableRow extends React.Component {
render() {
return (
<tr>
<td>{this.props.data.id}</td>
<td>{this.props.data.name}</td>
<td>{this.props.data.age}</td>
</tr>
);
}
}
export default App
了解主App组件中的Header和TableRow组件。但是,与以下行混淆:
{this.state.data.map((person, i) => <TableRow key = {i}
data = {person} />)}
任何人都可以解释上述语法的工作原理吗?谢谢。
解决方案
你想知道为什么 React Native 使用状态。你应该看看这个Facebook拥有的文档
https://facebook.github.io/react-native/docs/state
并做例子,然后它会帮助你清楚你的想法。回答您的示例代码:
{this.state.data.map((person, i) => <TableRow key = {i} data = {person} />)}
- 首先它从变量状态中获取数据
map
并循环通过它来渲染每一行视图。如果您执行一些触发器来更改数据,例如this.setState({data: []})
,它会将视图更改为空并自动刷新视图,它会回答为什么使用状态。=))
- 首先它从变量状态中获取数据
这很简单!
推荐阅读
- ios - 我的应用程序的 iOS 版本未显示在 Fabric 仪表板上
- c# - 如何使用 c# 代码在一个网格中插入 2 个边框
- html - 如何在另一个 div 中将具有背景图像的 div 居中
- javascript - Electron 应用程序无法解析 Steamworks 集成中的“greenworks-linux32”
- java - Spring-Data-Jpa在持久化后清除链接实体的所有参数
- perl - 无法从 perl 中的命令行为标量赋值
- java - Spring Boot + Jackson:根据调用的 REST API 以不同的方式序列化对象
- mysql - 将 MySQL 查询转换为 Laravel
- c# - 如何从 C# 中的 SOAP 响应中提取数据
- permissions - 其他用户在 Google Cloud Platform 中的重复 IAM 权限