如何到达第三方Dom并与React互动

时间:2017-09-27 21:16:59

标签: javascript reactjs

我有一个反应应用程序正在加载一个外部脚本,它会在我的网站上添加一个标题。

然后将此标题添加到我的页面顶部,它只是纯粹的javascript和html。

但它不在我的反应应用之外,就在这个标题的正下方。

但我希望从我的react redux状态向第三方标题添加某些信息。

如何与React在我的页面上放置的这个3方div进行交互?

即。我当前的反应呈现

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

和app html类似

<body>
 <header>Something I want to change with redux data</header>
 <div id="app"><div>
<body>

2 个答案:

答案 0 :(得分:0)

这取决于外部脚本的加载方式。如果它在您的React应用程序之前同步加载,那么您可以在React应用程序中执行类似的操作:

componentDidMount() {
    let header = document.getElementsByTagName('header')[0];
    // Do something with the header...
}

答案 1 :(得分:0)

有没有办法在你的React应用程序中添加标题?可能是这样的事情。

ReactDOM.render(
    <Provider store={store}>
            <header>store.getstate().reducerName.headerdata</header>
            <Router history={browserHistory}>{routes(store, intl)}</Router>
    </Provider>,
    document.getElementById('app')
);