javascript - 页面加载后如何自动运行功能?
问题描述
在我的 componentDidMount() 中,我在我的 redux 文件中调用 actionCreator 来执行 API 调用以获取项目列表。然后将此项目列表添加到 redux 存储中,我可以通过mapStateToProps
.
const mapStateToProps = state => {
return {
list: state.list
};
};
所以在我的渲染()中,我有:
render() {
const { list } = this.props;
}
现在,当页面加载时,我需要运行一个需要映射 this 的函数list
。
假设我有这个方法:
someFunction(list) {
// A function that makes use of list
}
但我在哪里称呼它?当列表对我可用时,我必须调用它,因为我的函数会给我一个错误列表是undefined
(如果它还不可用)。
我也不能在 render 中调用它(在 return 语句之前),因为它给了我一个错误,即 render() 必须是纯的。
我可以使用另一种生命周期方法吗?
解决方案
只需这样做,在 redux 商店中请确保列表的初始状态应该是[]
const mapStateToProps = state => {
return {
list: someFunction(state.list)
};
};
推荐阅读
- objective-c - 为什么 Objective-C 设计为具有基于三层的消息传递机制?
- javascript - 过渡到收缩/扩展到自动高度元素
- python - 为什么在 tf.keras 上推断 SavedModel 比 tf.saved_model 慢?
- r - R,ggplot2,jtools:约翰逊尼曼图错误
- python - 具有通用外键的模型的 Django Factory
- c# - 查找范围内数组的第一个总和的算法
- java - 将音频文件保存到外部存储,然后在 whatsapp、电子邮件等上共享该文件
- pandas - 验证 csv 文件中列的数据类型的最有效方法是什么?
- mysql - 从同一个 sql 语句中获取子结果
- c# - 如何获取点击的 CollectionView 元素的索引?