将参数传递给' loader'

时间:2018-04-17 08:29:15

标签: react-loadable

我有一个父组件A,创建一个子组件B. 使用Loadable导入此子组件的定义。在下文中,组件B是目录。

现在我想在渲染这个组件之前获取一些初始数据,正如文档中所描述的那样。这就是我所拥有的:

const Catalog = Loadable.Map({
    loader: {
        Catalog: () => import('./Catalog'),
        initialData: () => fetchCatalogInitialData(foo1, foo2),
    },
    loading: () => {return <div>foo</div>},
    render(loaded, props) {
        let Catalog = loaded.Catalog.default;
        let initialData = loaded.initialData;
        return  <Catalog {...props} initialData={initialData} />;
    },
});

我希望fetchCatalogInitialData能够使用参数调用,即URL,令牌等。这样做是否可行?

1 个答案:

答案 0 :(得分:0)

据我所知,如果没有图书馆,这是不可行的。有一些被拒绝的PR(example)尝试这样做,维护者已经拒绝了。公平地说,作者提供的理由如下:

  

您的加载程序应尽可能保持静态,否则无法可靠地执行服务器端呈现等操作。我知道这是非常有限的,但它是故意的。

如果你没有做SSR,分叉可能是最好的解决方案。