【发布时间】:2019-11-08 08:35:14
【问题描述】:
编辑:我不明白投反对票的原因,这是一个很好的问题,本网站上没有其他问题解决了我的问题。我只是预先加载了数据来解决我的问题,但如果不使用功能组件,这仍然无法解决问题。
我正在尝试将用户最后一条消息传递给 ListItem 字幕道具,但我似乎无法找到从 promise/then 调用返回值的方法。它返回一个承诺,而不是返回一个“失败的道具类型”的值。我考虑过使用状态,但后来我认为我不能再调用 ListItem 组件中的函数了。
getMsg = id => {
const m = fireStoreDB
.getUserLastMessage(fireStoreDB.getUID, id)
.then(msg => {
return msg;
});
return m;
};
renderItem = ({ item }) => (
<ListItem
onPress={() => {
this.props.navigation.navigate('Chat', {
userTo: item.id,
UserToUsername: item.username
});
}}
title={item.username}
subtitle={this.getMsg(item.id)} // failed prop type
bottomDivider
chevron
/>
);
【问题讨论】:
-
@HMR - 我认为它比这更具体一些。
-
您可以在解析中使用setState。
-
The following answer 接近你能做的,如果你不能使用功能组件,那么我发布的链接会给你一个如何用类组件解决这个问题的想法(只检查代码, babel 不需要配置)
-
@HMR 没有,但我确实解决了这个问题。
标签: javascript reactjs react-native react-native-flatlist react-native-elements