1

我正在渲染我的 Redux 应用程序 -

<Provider store={store}>
    <MyComponent />
</Provider>

编译后的代码是

ReactDOM.render(React.createElement(
    _reactRedux.Provider,
    { store: store },
    React.createElement(MyComponent, null)
), document.getElementById(element_id));

这会抛出错误Uncaught Error: Invariant Violation: onlyChild must be passed a children with exactly one child.React的开发版本也抛出以下警告Warning: Failed propType: Invalid prop 'children' supplied to 'Provider', expected a single ReactElement.

如果我将其更改为简单

<div>"Content"</div>

编译后的代码如下

ReactDOM.render(React.createElement(
    'div',
    null,
    '"Content"'
), document.getElementById(element_id));

并且可以正确渲染。

Provider 版本可以在桌面 chrome 以及设备上的 chrome 浏览器中正常加载。

任何指针?

4

1 回答 1

0

它必须与 babel polyfill 做一些事情。如果我从构建过程中删除 polyfill 并使用像 polyfill.io 这样的 CDN 使用标签

<script src="https://cdn.polyfill.io/v2/polyfill.min.js"></script>

然后问题得到解决并加载网页。仍然必须弄清楚为什么会发生这种情况。

于 2016-04-15T09:45:57.150 回答