2

我有一个父组件 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、令牌等。这是否可行?

4

1 回答 1

0

据我所知,如果不分叉库,这是不可行的。有一些被拒绝的 PR(示例)试图这样做,但维护者拒绝了。公平地说,作者提供的理由如下:

您的加载器应该尽可能地是静态的,否则就不可能可靠地执行诸如服务器端渲染之类的事情。我知道这是非常有限的,但这是故意的。

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

于 2018-05-21T21:24:08.107 回答