问题描述
现在我在 fish-redux _onInit
中的父组件中获得了文章 ID:
Future _onInit(Action action,Context<HomeListDefaultState> ctx) async {
ArticleRequest articleRequest = new ArticleRequest(
pageSize: 15,pageNum: 1,storiesType: StoriesType.topStories
);
List<int> ids = await Repo.getArticleIds(articleRequest);
if (ids != null) {
ctx.dispatch(HomeListDefaultActionCreator.onSetArticleIds(ids));
}
}
但是http请求是异步的,当http完成时,子组件区域呈现,我想使用子组件中的articleId来获取文章详细信息:
Future _onInit(Action action,Context<ArticleListState> ctx) async {
ArticleListState articleListState = ctx.state;
List<int> ids = articleListState.articleIds;
List<Item> articles = new List();
for (int id in ids) {
Item article = await Repo.fetchArticleItem(id);
if (article != null) {
articles.add(article);
}
}
if (articles != null && articles.length > 0) {
ctx.dispatch(ArticleListActionCreator.onSetArticles(articles));
}
}
子组件_onInit只运行一次,当子组件_onInit方法运行时,父组件的articleId没有准备好,父组件get id函数完成后如何去子组件中获取文章? Flutter中如何通知子组件?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)