React setstate及其回调由于某种原因不起作用

Arv*_*ind 1 javascript charts fusioncharts reactjs

我正在制作一个简单的反应应用程序,我使用Fusioncharts渲染两个图表.正如在Fusioncharts示例中给出的那样,我试图根据来自另一个图表(饼图)的输入来改变一个图表(柱形图)的状态.问题是,我有两个组件的共同祖先.内容是Dash和topcontent的父级.因此饼图在破折号组件中,我使用回调道具(onslice)来调用父组件的函数,并设置父级状态以通过topcontent改变发送到柱形图的支柱.这是代码.

filtercallback(c,k){
console.log("In callback",c,k); 
// this shows up which means the call was successful
this.setState({  filtertext: c,filtersource:k  },function()   
                 {  // Callback function
               console.log("callback by",c,k);
             // this doesn't show up and state isn't set
                });
Run Code Online (Sandbox Code Playgroud)

无论出于何种原因,国家都没有被设定.包含console.log()的回调也没有记录任何内容.有人可以帮忙吗?

Jan*_*nne 8

你可能缺少结合为filtercallBack.尝试在构造函数中设置:

this.filtercallBack = this.filtercallBack.bind(this);
Run Code Online (Sandbox Code Playgroud)

假设它是一个类函数.