React Component如何向外部应用程序公开数据?

时间:2015-08-02 11:47:35

标签: reactjs

假设我有一个React Component <forecast id="test"/>。我希望将此组件导入到只涉及jquery的旧项目中。

是否可以获得此组件的值,如document.querySelector('#test').value

我从React网站获得了一些信息,我们无法从组件外部访问数据。建议的方法是从组件内部调度数据。

我的问题是,dispatching数据的方式落后于组件实现。这是否意味着我必须阅读组件的源代码,以防我不知道它是如何工作的?

如果这是真的,我不认为React可以自由注入任何产品,但成本太高。

2 个答案:

答案 0 :(得分:1)

如果你想为你的项目注入一些React,你应该用你系统的一些独立部分来做。 如果你有紧密耦合的代码库,那么为它添加任何新技术的成本总是很高。所以它不是一个React问题。尝试在系统中找到一些独立的模块或子应用程序,并将其移至React。如果找不到,请先尝试重构现有代码。

答案 1 :(得分:0)

你需要编写一个普通的JS包装器来完成它。像这样的东西可能会起作用

function Forecast(element) {
   this.value = initialValue;
   React.render(<forecast onChange={onChange.bind(this)}/>, element);

   function onChange(newValue) {
     this.value = newValue;
   }

}