我正在尝试新的React Hot Loader 3,我收到一条警告信息:
warning.js:44警告:React.createElement:type不应为null, undefined,boolean或number。它应该是一个字符串(对于DOM 元素)或ReactClass(用于复合组件)。检查渲染
AppContainer
的方法。
这是App文件。怎么了?
Ps:它的编写方式与示例相同。
Ps2:问题不在App中,因为它在if语句之外的render()上呈现
Ps3:警告仅在浏览器尝试“热重载”时显示(当我对任何文件进行更改时)
import React from 'react';
import { render } from 'react-dom';
import { AppContainer } from 'react-hot-loader';
import a11y from 'react-a11y'
import Store from './stores/Store';
import App from './components/App/App';
const store = new Store();
if(process.env.NODE_ENV === 'development'){
a11y(React);
}
render(
<AppContainer
component={App}
props={{ store }}
/>,
document.getElementById('root')
);
if (module.hot) {
module.hot.accept('./components/App/App', () => {
render(
<AppContainer
component={require('./components/App/App').default}
props={{ store }}
/>,
document.getElementById('root')
);
});
}
答案 0 :(得分:-1)
好的,问题出在我的.babelrc文件中。我有一些其他的插件,我已经删除了,它有效:
{
"presets": ["es2015-loose", "react", "stage-1"],
"plugins": [
"react-hot-loader/babel",
"transform-decorators-legacy"
],
}