3

新しいReact Hot Loader 3を試していますが、次の警告メッセージが表示されます。

warning.js:44 警告: React.createElement: タイプは null、未定義、ブール値、または数値であってはなりません。文字列 (DOM 要素の場合) または ReactClass (複合コンポーネントの場合) である必要があります。のレンダリング方法を確認してくださいAppContainer

これがアプリファイルです。なにが問題ですか?
Ps: 例と同じように書かれています。
Ps2: 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')
    );
  });
}
4

1 に答える 1

-1

OK、問題は私の .babelrc ファイルにありました。削除した他のプラグインがいくつかありましたが、機能しました:

{
  "presets": ["es2015-loose", "react", "stage-1"],

  "plugins": [
    "react-hot-loader/babel",
    "transform-decorators-legacy"
  ],
}
于 2016-04-20T18:08:22.700 に答える