Javascript 当另一个子组件更改时更新一个子组件

Javascript 当另一个子组件更改时更新一个子组件,javascript,reactjs,react-hooks,react-chartjs,Javascript,Reactjs,React Hooks,React Chartjs,我有一个父组件CardDate,它返回两个子组件:LineChart(react-chartjs-2)和DatePicker。 CardDate具有本地状态变量startDate和endDate。每当用户使用日期选择器功能选择新的开始或结束日期时,我都会调用onChange来更改这些变量。因此,这些状态变量会正确更新,以反映新的开始和结束日期。但是,折线图会不断显示与旧日期对应的旧数据,就好像它不知道startDate和endDate已经更改一样 <LineChart mentionsD

我有一个父组件CardDate,它返回两个子组件:LineChart(react-chartjs-2)和DatePicker。 CardDate具有本地状态变量startDate和endDate。每当用户使用日期选择器功能选择新的开始或结束日期时,我都会调用onChange来更改这些变量。因此,这些状态变量会正确更新,以反映新的开始和结束日期。但是,折线图会不断显示与旧日期对应的旧数据,就好像它不知道startDate和endDate已经更改一样

<LineChart  mentionsData={
                    dateScaleState === 'daily'
                      ? data.mentions
                      : findMentionsInMonthRange(data.dateMonthMentions)
                  } />
<DatePicker onChange={(date) => {setEndDate(date)}}


{setEndDate(日期)}
我将这些状态变量添加到useCallback函数中,并将它们包含在依赖项数组中

 const findMentionsInMonthRange = useCallback(
    (dateMonthDict) => {
      for (let k of Object.keys(dateMonthDict)) {
        if (k < startDate || k > endDate) {
          dateMonthDict.delete(k);
        }
      }
      return Object.values(dateMonthDict);
    },
    [startDate, endDate]
  );
const findmionsinmonthrange=useCallback(
(dateMonthDict)=>{
for(让k表示对象键(dateMonthDict)){
如果(kendDate){
删除(k);
}
}
返回Object.values(dateMonthDict);
},
[开始日期,结束日期]
);