import storact from 'storact'
const {
useDispatch,
useStoreState,
Provider,
} = storact({
// store的初始状态,建议传入一个k-v的Object
// 如果stroe需要异步初始化,可以不传 - optional
initialState,
middlewares, // 中间件集合 - optional
effects, // effect集合 - optional
namespace, // 命名空间,用在chrome-dev-tool,一般可不指定 - optional
})
export { useDispatch, useStoreState, Provider }
import React from 'react'
import { render } from 'react-dom'
render(
<Provider>
<App />
</Provider>,
document.querySelector('#root'),
)
如果只需要store作用在部分组件,可以用Provider包裹该组件就可以,由于这里的Provider是用react-context实现的,所以不需要像之前一样需要用mapStateToProps和mapDispatchToProps对组件进行二次封装,只要父组件使用Provider包裹,其自组件便可直接访问并修改store状态,具体的访问方式请参考下一章