介绍
redux-binder是一个用于将数据从redux映射到视图上的工具包。与其他类似的解决方案不同,redux-binder不会强制使用任何特定的UI框架,它可以用于任何支持React视图层的项目中。
redux-binder的代码库是开源的,其源代码存放在GitHub上,具有易于扩展性的API。
安装
使用npm进行安装:
npm install redux-binder --save
如需安装当前的开发版本,请使用如下命令:
npm install https://github.com/mathieudutour/redux-binder.git#development --save
开始使用
redux-binder的主要功能是从redux store中获取数据并将其与我们的视图组件绑定。下面是演示如何使用redux-binder的示例代码:
-- -------------------- ---- ------- ------ ----- ---- -------- ------ - ------------------ - ---- -------- ------ - ------- - ---- -------------- ------ - ------------ - ---- --------------- ------ - -------------- - ---- ------------ ------ ----------- ---- ---------------- ----- --------------- - ----- -- - ------ - ------- ------------ -- -- ----- ------------------ - -------- -- - ------ ---------------------------------- ---------- -- ----- ------------ - - ------- - ----- ------ ------- - -- ----- ----------------- - --------------------------- ----- -------------------- - -------- ---------------- ------------------ ---------------------------------- ------ ------- ---------------------
我们可以看到上面代码中,我们创建了一个Redux Store,并将其与视图组件绑定。来看看上面代码中的重要部分:
mapStateToProps
mapStateToProps
函数是一个链接器(Connector)函数,它把Redux store中的态势转换成视图组件需要的数据的格式。在这个例子中,它将Redux Store中的 state.myData
映射到传递给 MyComponent
视图组件的props中。
mapDispatchToProps
-- -------------------- ---- ------- ------------------- ------ ---------- ------ -------------------- -------------- ------- ----- ------ ----------------- ---------------- ------------------ ------- ---- ------------- ------- --- ------------ -------------- ----------------------------------- -------------- ------------------------------ -------- -------------------- ------- -------------- ----------------------- -------------- ----- --- ----------------- ---- -------------- --------- ------------------- ---------------------- -------------------------------- --- ------- --------- ------------------------------------ ----------------- - -------------------- ---- --------- --- ---- ------------------- -- -- -- ---------------------------------- ---------------------------------------------------------------------------------------------------------- - ------------------------------------------------------------------------------ -------- ------------------------------------------------------------------------------------------------------------------------