创建store

npm install storact

step 1

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 }

step 2

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状态,具体的访问方式请参考下一章

Last updated

Was this helpful?