小编zhu*_*ber的帖子

懒惰的渲染孩子

看看这个简单的例子:

 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儿童问题。由于entitynull(while loading=true),我收到无法读取name的错误null。有没有一种简单的方法可以避免这个错误,因为它span总是会在entity不是时呈现null

目前我知道 3 个选项:

  1. 移动此spanstateless function接收entity作为prop
  2. 总结全childrenLayoutfunction后支持function childrenLayout
  3. 只需使用 {entity && <span>Name: {entity.name}</span>}

为什么我必须使用这些选项之一,我可以在渲染之前将React它们children视为函数并在内部解析块吗?

null components children lazy-evaluation reactjs

9
推荐指数
1
解决办法
1053
查看次数

标签 统计

children ×1

components ×1

lazy-evaluation ×1

null ×1

reactjs ×1