反应:目标容器不是DOM元素

问题描述 投票:0回答:1

我正在使用rails中的react。但是,当我运行该应用程序时,出现错误:未捕获的错误:目标容器不是DOM元素。

我的index.jsx文件看起来像:

import React from 'react';
import ReactDOM from 'react-dom';
import {createStore, applyMiddleware} from 'redux';
import {Provider} from "react-redux";
import thunk from "redux-thunk";
import reducers from "../bundles/HelloWorld/reducers/index.js";
import App from "../bundles/HelloWorld/components/App"
let store = createStore(reducers, applyMiddleware(thunk))


ReactDOM.render(<Provider store={store}><App /></Provider>, document.getElementById('root'));

此外,我在application.html.erb中也这样使用它:

这可能是什么错误?

ruby-on-rails reactjs dom redux react-redux
1个回答
1
投票

例如,将带有id='root'的元素添加到页面中>

ReactDOM.render(
    <Provider store={store}>
        <App />
    </Provider>, 
    document.body.appendChild(document.createElement("div"))
);

render需要DOM元素作为第二个参数,在您的情况下不存在。您可以在页面本身上进行设置,也可以如上所述动态生成。

© www.soinside.com 2019 - 2024. All rights reserved.