问题描述
在典型的带有 redux 的常规 React 应用程序中,像这样包装应用程序标签(在 index.ts 中):
ReactDOM.render(
<React.StrictMode>
<Provider store = {store}>
<App />
</Provider>
</React.StrictMode>,document.getElementById('root')
);
但在 PCF 应用程序中,我没有任何 app 标签,而是在自己的容器中拥有几个独立的 React 组件,类似这样(在 index.ts 中):
public updateView(context: ComponentFramework.Context<IInputs>): void
{
...
ReactDOM.render(React.createElement(Main,this.props),this.containerMain);
ReactDOM.render(React.createElement(PanelButtons,this.containerAside);
ReactDOM.render(React.createElement(PanelAux,this.containerAux);
...
}
我应该在哪里插入提供程序来包装整个应用程序?
解决方法
可能在所有这些调用中,如果它们各自树中的任何东西都需要 Redux。
您知道您可以将文件重命名为 .tsx
并使用
<Main {...this.props} />
而不是 React.createElement(Main,this.props)
?
这将使包装更容易阅读;)