2017-06-12 64 views
-1

后我复制+粘贴从代码:流星-REACT错误:目标容器不是一个DOM元素,修复

https://stackoverflow.com/questions/41514549/

然后,我通过“ID”,从而修正错误和变化“类”

main.html中

<head> 
    <title>React Meteor Voting</title> 
</head> 
<body> 
    <div id="render-target"></div> 
</body> 

main.jsx

import React, { Component } from 'react'; 
import {Meteor} from 'meteor/meteor'; 
import { render } from 'react-dom'; 

Meteor.startup(() => { 
    render(<App />, document.getElementById('render-target')); 
}); 

class App extends Component { 
    render(){ 
    return (
     <h1>Hello!</h1> 
    ); 
    } 
} 

的package.json

{ 
    "name": "test-react", 
    "private": true, 
    "scripts": { 
    "start": "meteor run" 
    }, 
    "dependencies": { 
    "babel-runtime": "^6.20.0", 
    "meteor-node-stubs": "~0.2.4", 
    "react": "^15.5.4", 
    "react-dom": "^15.5.4" 
    } 
} 

但我得到了同样的错误:

Uncaught Error: _registerComponent(...): Target container is not a DOM element. at invariant (modules.js?hash=de726ed…:12672) at Object._renderNewRootComponent (modules.js?hash=de726ed…:30752) at Object._renderSubtreeIntoContainer (modules.js?hash=de726ed…:30842) at render (modules.js?hash=de726ed…:30863) at app.js?hash=71ef103…:46 at maybeReady (meteor.js?hash=27829e9…:809) at HTMLDocument.loadingCompleted (meteor.js?hash=27829e9…:821)

逼我疯了....¡¡¡¡¡

回答

1

添加脚本标签在关闭</body>之前标记最有可能在您的DOM ID之前加载的脚本。

也关掉这个周围...

import React, { Component } from 'react'; 
import {Meteor} from 'meteor/meteor'; 
import { render } from 'react-dom'; 

class App extends Component { 
    render(){ 
    return (
     <h1>Hello!</h1> 
    ); 
    } 
} 

Meteor.startup(() => { 
    render(<App />, document.getElementById('render-target')); 
}); 
+0

我已经试过了,结果相同,同样的错误。谢谢 –

+0

对不起,我不明白你说什么:“添加你的脚本标签”。流星有必要吗? –

0

我已经删除软件包(闪耀HTML模板)。

我认为做Meteor + React并不是必须的,但它被用来编译main.html。

流星添加包闪耀的HTML模板添加闪耀的HTML模板

解决问题。

+1

你不需要'blaze-html-templates',但是如果你删除它,你需要添加'static-html'包: –

+0

Thanks,Xavier,good tips。 –

1

如果卸下blaze-html-templates需要添加static-html软件包编译index.html并避免该错误(见Meteor Guide,段落的结尾):

meteor add static-html 
相关问题