创立我的项目的步骤我就不赘述了,官网有具体的步骤Taro应用文档提前下载微信开发者工具
前提初始化好了一个Taro我的项目
步骤1. 编译运行npm run dev:weapp在模拟器中预览
2. 配置dva2.1 装置 react-reduxnpm i --save react-redux2.2 装置 dva-core dva-loadingdva-core 封装了redux和redux-sage的一个插件dva-loading 治理页面的loading状态
npm install --save dva-core dva-loading2.3 src目录下创立models目录,并在models目录下的index.js返回我的项目中创立的所有model// dva须要挂载所有的modelsimport users from '../pages/index/model'export default [ users,];users为pages/index 上面新建的model其构造就和咱们dva中的model一样
export default { namespace: 'users', state: { title: 'Hello World' }, effects: {}, reducers: { save(state, { payload }) { return { ...state, ...payload }; }, },};2.4 在src目录下创立utils目录,并在utils目录里创立dva.js文件import { create } from 'dva-core';import createLoading from 'dva-loading';let app;let store;let dispatch;function createApp(opt){ // 创立利用,返回dva实例 app = create(opt); // 配置插件 createLoading是解决异步加载的过渡问题 app.use(createLoading({})); if(!global.registered){ // 注册model opt.models.forEach(model => app.model(model)); } global.registered = true; // 启动利用 app.start(); store = app._store; app.getStore = () => store; dispatch = store.dispatch; app.dispatch = dispatch; return app;}export default { createApp, getDispatch: () => { return app.dispatch; }}2.5 在入口文件app.js里应用dva.js返回的办法创立一个app获取store,并将store挂载到Provider容器外面import { Component } from 'react'import dva from './utils/dva'import { Provider } from 'react-redux'import models from './models'import './app.less'const dvaApp = dva.createApp({ initialState: {}, models})const store = dvaApp.getStore();class App extends Component { componentDidMount () {} componentDidShow () {} componentDidHide () {} componentDidCatchError () {} // this.props.children 是将要会渲染的页面 render () { return <Provider store={store}>{this.props.children}</Provider> }}export default App配置实现,检测是否配置胜利在pages / index / index.jsx中连贯model,并且输入this.props
...