从外部反应更新状态

时间:2019-09-20 09:51:24

标签: reactjs

我正在创建一个应将其添加到常规HTML项目中的小组件。希望将其集成到其网站中的开发人员将使用它。他们现在可能没有任何反应,因此他们应该可以将我的组件与普通JS一起使用。

index.html (我的图书馆的使用者)

<script type="text/javascript" src="bundle.js"></script>
<script>

    document.addEventListener('DOMContentLoaded', function () {
        createHorizontalTable('#table-container');
    });

</script>

包装了ReactDOM.render() index.js

...
window.createHorizontalTable = function (elementId: string) {
    const element = document.querySelector(elementId);
    if(!element) throw Error(`could not find element with selector: ${element}`);
    ReactDOM.render(<HorizontalTable />, element)
};

到目前为止,太好了。但是,如何在我的反应组件和“外部世界”之间建立通信?我的组件(一个表)使用了用户提供的数据。另外,该数据可能会更改,并且我的组件应该对这些更改做出反应。

我认为一遍又一遍地致电createHorizontalTable()并不是一个好主意。因此,我考虑使用Events。但是我如何向呼叫者公开目标呢?

0 个答案:

没有答案