与来自非反应世界的React组件交互

时间:2016-07-08 06:25:25

标签: reactjs

我们已经广泛使用KnockoutJS的应用程序。对于Charting,我们计划使用ReactJS。我们可以轻松地使用ReactJS构建简单的图表。困惑我的问题之一是如何与来自非React世界的React图表进行交互。让我举一个例子。让我们说你有一个条形图React组件,最初你想用轴渲染图表,所以你喜欢下面的。

ReactDOM.render(<BarChart axes={true} data={data} {...lot of other props} />, mountNode);

现在让我们假设您已经存在于非React世界中的按钮,并且单击要隐藏轴的按钮。我怎样才能做到这一点?我可以在BarChart组件中公开可以从外部调用的公共方法吗?

例如,

const BarChart = React.createClass({

   ....

   showAxes(show) {
     //...
   }
});

var barChart = ReactDOM.render(<BarChart axes={true} data={data} {...lot of other props} />, mountNode);
barChart.showAxes(false);

但是轴是一个道具而不是状态,所以即使我们公开一种公共方法,我们也无法改变道具的权利?我们如何处理这些事情的任何想法?我们如何与来自非反应世界的React组件进行交互?

1 个答案:

答案 0 :(得分:9)

你是对的,只需公开函数并从外部调用函数。 您可以在getinitialState

中将轴存储在状态中
CloudAppendBlob