【发布时间】:2020-07-11 21:57:24
【问题描述】:
我正在尝试配置我的新 react-redux 应用程序以使用 React-Redux 的新功能。 official documentation 说
React Redux 现在提供一组钩子 API 作为现有 connect() 高阶组件的替代方案。
我一直在尝试找到一些与 Hooks API 相关的帮助文章,其中包含一些真实示例,但所有 react-redux 应用程序都使用连接功能。官方文档还显示了非常基本的示例。
我想使用 useSelector(由 Hooks API 提供)更改我的应用程序中的连接功能。
这是我的应用程序中的示例代码 sn-p。
//MessagesListContainer
export default connect(
// mapStateToProps
(state:State) => ({
activeUser: getActiveUser(state),
messages: getMessagesList(state),
})
)(MessagesList)
//Selectors
export const getActiveUser = (state: State) => state.activeUser;
export const getMessagesList = (state : State) => (
Object.keys(state.messages).map((key : any)=> state.messages[key])
)
export interface IMessagesListProps {
activeUser?: User;
messages?: Message[];
}
/**
* Messages List
*/
export default class MessagesList extends PureComponent<IMessagesListProps> {
.
.
.
}
【问题讨论】:
标签: reactjs typescript redux react-redux