假设您有一个具有以下组件结构的聊天应用程序:
<ChatApp>
<CurrentUserInfo>...</CurrentUserInfo>
<ChatsPanel>...</ChatsPanel>
<SelectedChatPanel>
<MessagesList>
<MessageBaloon>
<MessageText></MessageText>
<MessageUserHead></MessageUserHead>
</MessageBaloon>
...
</MessagesList>
<SelectedChatPanel>
</ChatApp>
还有一个 Redux 状态,如:
{
currentUser: ...,
chatsList: ...,
selectedChatIndex: ...,
messagesList: [ ... ]
}
您如何使当前用户信息可用于<MessageUserHead>
组件(将呈现每条消息的当前用户缩略图),而不必从根组件一直传递到所有中间组件?
同样,如何在不暴露整个状态对象的情况下,使组件树中的每个表示/哑组件都可以使用当前语言、主题等信息?