看看这个简单的例子:
const List = function({ loading, entity }) {
return (
<Layout loading={loading}>
<span>Name: {entity.name}</span>
</Layout>
);
};
Run Code Online (Sandbox Code Playgroud)
Layout组件children仅在loadingis时呈现false。但这里的问题是立即React解决Layout儿童问题。由于entity是null(while loading=true),我收到无法读取name的错误null。有没有一种简单的方法可以避免这个错误,因为它span总是会在entity不是时呈现null?
目前我知道 3 个选项:
span以stateless function接收entity作为propchildren的Layout在function后支持function children中Layout{entity && <span>Name: {entity.name}</span>}为什么我必须使用这些选项之一,我可以在渲染之前将React它们children视为函数并在内部解析块吗?