rfc*_*484 5 express reactjs material-ui react-dom react-16
尝试从React 15.4升级到React 16.4.1(也将react-dom升级到16.4.1)后,我从路由器收到此错误消息:
TypeError: _nextProps.children is not a function
at ReactDOMServerRenderer.render (/var/www/web/node_modules/react-dom/cjs/react-dom-server.node.development.js:2491:55)
at ReactDOMServerRenderer.read (/var/www/web/node_modules/react-dom/cjs/react-dom-server.node.development.js:2354:19)
at renderToString (/var/www/web/node_modules/react-dom/cjs/react-dom-server.node.development.js:2726:25)
at render (/var/www/web/server/routes/others.jsx:141:24)
at process._tickCallback (internal/process/next_tick.js:68:7)
Run Code Online (Sandbox Code Playgroud)
代码:
const render = () => {
const body = renderToString(
<MuiThemeProvider muiTheme={muiTheme}>
<ThemeProvider theme={theme}>
<Provider store={store}>
<IntlProvider>
<RouterContext {...renderProps} />
</IntlProvider>
</Provider>
</ThemeProvider>
</MuiThemeProvider>
);
Run Code Online (Sandbox Code Playgroud)
render 在此处定义,但之后在相同的路由文件中返回:
Promise.all(prefetchData(renderProps, store))
.then(render)
.catch(prefetchError => next(prefetchError));
Run Code Online (Sandbox Code Playgroud)
我按照建议的说明从React 15.x升级到React 16.x.
自从我发现有关材料与React 16的兼容性的相关问题:
https://github.com/mui-org/material-ui/issues/8434
https://github.com/mui-org/material-ui/issues/7795
我想知道这个错误信息是否可能是由材料-ui 0.2x和React 16.x之间的不兼容引起的,或者换句话说,我想知道是否有必要升级到material-ui 1.x以便能够使用React 16.x.
| 归档时间: |
|
| 查看次数: |
669 次 |
| 最近记录: |