由于某种原因,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 函数。
我正在制作一个简单的 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 函数。