混淆一些 ReactNative 的东西
Confusion in some ReactNative stuff
下面是 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: []})
,它会将视图更改为空并自动刷新视图,它会回答为什么状态正在使用。=))
很简单!
下面是 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: []})
,它会将视图更改为空并自动刷新视图,它会回答为什么状态正在使用。=))
- 首先它从变量状态
很简单!