问题描述
Stream 中是否有内置的 UI 组件用于 react-native 库来编辑用户的个人资料?
我将提要和活动与我的用户 ID 和令牌服务器端 API 集成在一起工作,但用户显然显示为默认的“未知”,没有照片。我在这个新应用程序中还没有配置文件存储,所以我想知道是否可以快速插入配置文件屏幕并编辑该配置文件,或者我是否必须构建它并将元数据添加到流用户 API .
解决方法
没有配置文件组件,但您可以访问信息并创建自己的信息。
首先,像这样在 getstream 中设置用户的 profileImage 字段(示例显示服务器端,但您可以使用带有令牌的客户端):
const client = stream.connect('xxx','xxxxxxxxxxxxxx','xxxxxx');
let clientData = await client.user(userId).get();
if (!clientData.data) return null;
clientData.data.profileImage = 'https://cdn.com/profile.png';
await client.user(context.params.userId).update(clientData.data);
然后您可以像这样在客户端访问它:(示例显示带有自定义标题的提要。):
const CustomActivity = (props) => {
return <Activity {...props}
Header={
<View style={styles.avatarView}>
<Avatar
source={props.activity.actor.data.profileImage}
size={36}
noShadow
/>
<View style={styles.actorView}>
<Text style={styles.actorName}>{props.activity.actor.data.name}</Text>
<Text style={styles.metaData}>{formatRelative(new Date(props.activity.time),new Date())}</Text>
</View>
</View>
}>
</Activity>
<StreamApp apiKey={STREAM_API_KEY} appId={STREAM_APP_ID} token={user.activity.token}>
<FlatFeed feedGroup="timeline" notify Activity={CustomActivity} />
</StreamApp>