我是React的新手。有人可以告诉我,为什么会这样:
render() {
return (
<div>
<h1>Hello, React!</h1>
{this._persons.map( function (p, i) {
return <Person name={p.name} age={p.age} />
})}
</div>
)
}
但这不是:
getPersons() {
this._persons.map(function (p, i) {
console.log(i);
return <Person name={p.name} age={p.age} />
});
}
render() {
return (
<div>
<h1>Hello, React!</h1>
{this.getPersons()}
</div>
)
}
map函数是绝对使用的,因为我从log函数中获取结果,但Person组件不会是rendert。
答案 0 :(得分:3)
你永远不会从getPersons
返回任何内容。因此没有什么可以呈现的。您只需将通话结果返回map
:
getPersons() {
return this._persons.map(function (p, i) {
console.log(i);
return <Person name={p.name} age={p.age} />;
}
}
答案 1 :(得分:0)
您需要返回getPersons
函数的结果。
答案 2 :(得分:0)
您的getPersons()
方法只返回任何内容。
getPersons() {
return this._persons.map(function (p, i) {
console.log(i);
return <Person name={p.name} age={p.age} />
});
}