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

React setstate and its callback isn't working for some reason

我正在制作一个简单的 React 应用程序,我在其中使用 Fusioncharts 呈现两个图表。正如 Fusioncharts 示例中给出的那样,我正在尝试根据另一个图表(饼图)的输入来改变一个图表(柱形图)的状态。问题是,我有两个组件的共同祖先。 Content 是 Dash 和 topcontent 的父级。 所以饼图在破折号组件中,我使用回调 prop (onslice) 调用父组件的函数,我设置父级状态以改变通过 topcontent 发送到柱形图的 prop。这是代码。

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
                });

无论出于何种原因,状态都没有设置。并且包含 console.log() 的回调也没有记录任何内容。有人可以帮忙吗?

您可能缺少绑定到 this 的 filtercallBack。尝试在您的构造函数中设置:

this.filtercallBack = this.filtercallBack.bind(this);

假设它是一个 class 函数。