Reactjs 组件如何向外部应用程序公开数据?

Reactjs 组件如何向外部应用程序公开数据?,reactjs,Reactjs,假设我有一个React组件。我想把这个组件导入一个只涉及jquery的遗留项目中 是否可以像document.querySelector(“#test”).value那样获取此组件的值 我从React网站得到一些信息,我们无法从组件外部访问数据。推荐的方法是从组件内部调度数据 我的问题是,分派数据的方法落后于组件实现。这是否意味着我必须阅读组件的源代码,以防我不知道它是如何工作的 如果这是真的,我不会认为React可以免费注入到任何产品中,它的成本太高。您需要编写一个简单的JS包装来实现这一点。

假设我有一个React组件
。我想把这个组件导入一个只涉及
jquery
的遗留项目中

是否可以像
document.querySelector(“#test”).value那样获取此组件的值

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

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


如果这是真的,我不会认为React可以免费注入到任何产品中,它的成本太高。

您需要编写一个简单的JS包装来实现这一点。像这样的东西可能有用

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

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

}
功能预测(元素){
this.value=初始值;
React.render(,元素);
函数onChange(newValue){
this.value=newValue;
}
}

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

如果组件以不一致的方式调度数据,该怎么办?我指的是由不同的开发人员编写的不同组件。他们可以按自己喜欢的方式发送数据。像组件
使用
流量调度她的数据一样,组件
通过
jquery
方式触发事件来调度她的数据。我必须在应用程序中实现这些机制吗?即使是一个全新的项目,看起来还是不太好!我的想法是错误的吗?若组件实现正确,它不会分派任何东西。它可以接收一些函数来处理它之外的数据。例如,您有一个用于用户源的组件:。在某些情况下,此组件需要加载更多项。除此之外,以正确的反应方式开发的组件将具有一些功能。所以组件不知道如何加载更多的项目来馈送。YourLoadMore函数的实现取决于您。这意味着在您的示例中,组件必须提供类似于
onChange
的API,才能访问内部数据,对吗?对。这是回调的一种常规名称,但您可以选择其他名称或有多个回调,等等。