【发布时间】:2021-05-28 14:32:43
【问题描述】:
我有一个关于在 React 类组件中使用常量呈现内容的方式的快速问题。所以下面的代码可以正常工作(使用 map 函数渲染一个常量):
class App extends React.Component {
array = [
{
name: "Sarah",
age: 27
},
{
name: "Sam",
age: 35
}
]
render() {
const output = this.array.map(elem => (
<div>
<p>{elem.name}</p>
<p>{elem.age}</p>
</div>
));
return (
<div>{output}</div>
);
}
}
但是,以下会产生一个空白页面(我只是定义一个返回 div 并尝试呈现它的常量):
class App extends React.Component {
render() {
const Output = () => (
<div>Hello</div>
);
return (
<div>{Output}</div>
);
}
}
但如果我使用角括号而不是花括号,则几乎相同的代码可以工作:
class App extends React.Component {
render() {
const Output = () => (
<div>Hello</div>
)
return (
<div>
<Output />
</div>
)
}
}
所以看起来这与大括号和尖括号有关。花括号在我使用 map 函数时起作用,但当我在渲染方法中定义一个返回 div 的常量并尝试直接渲染它时不起作用。然后当我使用尖括号时它再次起作用......这有点奇怪。我知道这远非最重要的事情,我只是想弄清楚这一点。提前谢谢!
【问题讨论】:
标签: reactjs constants rendering