Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在'new Date()'日更改时从Redux商店自动刷新React道具_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 在'new Date()'日更改时从Redux商店自动刷新React道具

Javascript 在'new Date()'日更改时从Redux商店自动刷新React道具,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有一个React原生应用程序,每天显示一个数组中的新引用。我们的想法是,你打开应用程序,它会显示你今天的报价。明天打开它,它会显示明天的新报价 现在,我在我的一个顶级组件中的mapstatetops方法中从Redux存储中获取当前引用,如下所示: const mapStateToProps = state => { const currentQuote = getCurrentQuote( state ); return { quote: currentQuo

我有一个React原生应用程序,每天显示一个数组中的新引用。我们的想法是,你打开应用程序,它会显示你今天的报价。明天打开它,它会显示明天的新报价

现在,我在我的一个顶级组件中的
mapstatetops
方法中从Redux存储中获取当前引用,如下所示:

const mapStateToProps = state => {
  const currentQuote = getCurrentQuote(
    state
  );
  return {
    quote: currentQuote
  };
};
getCurrentQuote

const getCurrentQuote = (state, day) => {
  const index = getDayOfYear(!day ? new Date() : new Date(day));
  return state.quotes[index];
};
我的确切问题是,如果有人打开了应用程序,并且日期发生了变化(即新的一天),那么什么都不会改变。没有新的报价

显然,我可以让用户手动刷新应用程序并更新报价,但我宁愿让它自动更新

除了持续运行
setInterval
外,组件是否还有更好的方法来响应
新日期
更改(即新日期)


可能
AppState

在MapStateTrop中调用getCurrentQuote函数时,尝试将new Date()作为第二个参数传递。使用
setInterval
有什么问题?我不相信你的使用有什么问题it@ryan-我真的不知道,让一台无限期地运行是不对的。对内存etcI的担忧建议您改用任何react本机或节点cron库。无法发布答案,因为我没有多少信息以及它将如何应用于您的代码。