加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reactjs – 与来自非反应世界的React组件进行交互

发布时间:2020-12-15 20:42:08 所属栏目:百科 来源:网络整理
导读:我们已经广泛使用了KnockoutJS的应用程序.对于Charting,我们计划使用ReactJS.我们可以轻松地使用ReactJS构建简单的图表.困惑我的问题之一是如何与来自非React世界的React图表进行交互.让我举一个例子.假设你有一个条形图React组件,最初你想要用轴渲染图表,所
我们已经广泛使用了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组件进行交互?

你是对的,只需暴露函数并从外部调用函数.
您可以在getinitialState中将轴存储在状态中
const BarChart = React.createClass({
   getInitialState(){
    return {
        axes: this.props.axes
     }
  }
   ....

   showAxes(show) {
     //...
     this.setState({
        axis: show
     })
   }
});

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读