2017-06-06 21 views
1

你好我得到这个错误:React.js未捕获的错误:_registerComponent(...):目标容器不是一个DOM元素

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; 

我认为我错过了一些简单的东西,但我不确定它是什么。我试图修改我的代码来匹配其他问题的答案,但它没有解决。感谢您的任何帮助

+0

如果我没有错,你试图在HomePage中呈现你的组件App.js,在这种情况下,你做错了。 TargetDOM元素必须在HTML内。 –

回答

0

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

另外,一定要注入你<script>捆绑阵营<div id="app"></div>后应用(即注入到<script>body标签的结束是安全的)。

相关问题