React.js未捕获错误:_registerComponent(...):目标容器不是DOM元素

时间:2017-06-06 04:03:34

标签: javascript node.js reactjs dom components

您好我收到此错误:

main.js:808 Uncaught Error: _registerComponent(...): Target container is not a DOM element.

我已经访问了this question,但我无法弄清楚我在做什么有什么问题。

以下是我现在的代码:

routes.js

export default (  
  <Route path="/" component={App}>
    <IndexRoute component={HomePage} />
  </Route>
);

app.js

const store = configureStore();

render(
  <Provider store={store}>
    <Router history={browserHistory} routes={routes} />
  </Provider>,
  document.getElementById('app')
);

homepage.js

class HomePage extends React.Component {
  render() {
    return (
      <div id="app">
        Hello
      </div>
    );
  }
}

export default HomePage;

我认为我错过了一些简单但我不确定它是什么。我尝试修改我的代码以匹配其他问题的答案,但它没有成功。感谢您的帮助

1 个答案:

答案 0 :(得分:0)

错误表明document.getElementById('app')操作未在页面文档中找到任何对应的html节点。您必须直接在<div id="app"></div>中创建index.html,以便document.getElementById('app')找到它。 <div id="app">容器中的HomePage无效,因为在React应用初始化期间它在DOM中不可用。

此外,请务必在<{strong> <script>之后注入<div id="app"></div>捆绑的React应用(将<script>注入body的末尾标签是安全的。)