react+taro-JYwebApp模板集成方案项目搭建【1】

react+taro-JYwebApp模板集成方案项目搭建【1】

本章节:

讲述基于react+taro-JYwebApp,项目的基础搭建。本主题讲述了react+taro-JYwebApp 、webapp模板-集成方案,从零到一的手写搭建全过程。

该项目不仅是一个持续完善、高效简洁的webapp模板,还是一套企业级webapp开发集成方案,致力于打造一个与时俱进、高效易懂、高复用、易维护扩展的应用方案。

项目开始搭建时间:2020-06-11



环境准备


1、安装 tarojs/cli

cnpm install -g @tarojs/cli

2、初始化项目

taro init myApp

3、项目运行

npm run dev:h5


npm run dev:weapp


4、浏览器兼容性(IE 11测试) IE11不支持

 5、使用redux

cnpm install --save redux @tarojs/redux @tarojs/redux-h5 redux-thunk redux-logger

6、配置@


store的结构

import{createStore,applyMiddleware}from'redux'

importthunkMiddlewarefrom'redux-thunk'

import{createLogger}from'redux-logger'

importrootReducerfrom'./reducers/index'

constmiddlewares= [

thunkMiddleware,

createLogger()

]

exportdefaultfunctionconfigStore() {

conststore=createStore(rootReducer,applyMiddleware(...middlewares))

returnstore

}

reducers/index.js

import{combineReducers}from'redux'

importbasefrom'./base'

exportdefaultcombineReducers(Object.assign({

base

}, {

}))

reducers/base.js

importTarofrom'@tarojs/taro'

import{THEME_COLOR}from'@/utils/constant'

import{UPDATE_TOKEN}from'../constants/base'

constLOCAL_TOKEN='token'

constINITIAL_STATE= {

// 主题色

themeColor:THEME_COLOR,

// 认证Token

token:Taro.getStorageSync(LOCAL_TOKEN) ||'',

}

exportdefaultfunctionbase(state=INITIAL_STATE,action) {

switch(action.type) {

// 更新token

caseUPDATE_TOKEN:

Taro.setStorageSync(LOCAL_TOKEN,action.payload)

return{

...state,

token:action.payload||''

      }

default:

returnstate

  }

}

constants/base.js

exportconstUPDATE_TOKEN='upateToken'

actions/base.js

import{

UPDATE_TOKEN

}from'../constants/base'

exportconstupdateToken= (token)=>{

return{

type:UPDATE_TOKEN,

payload:token||''

    }

}

组件调用

importTaro, {Component,Config}from'@tarojs/taro'

import{View,Text}from'@tarojs/components'

import{connect}from'@tarojs/redux'

import{updateToken}from'@/store/actions/base'

import'./index.scss'

@connect(({base})=>({

...base

}), (dispatch)=>({

updateToken(token) {

dispatch(updateToken(token))

  }

}))

exportdefaultclassIndexextendsComponent{

componentWillMount() { }

componentDidMount() {

this.props.updateToken('zxb')

console.log(this.props)

  }

componentWillUnmount() { }

componentDidShow() { }

componentDidHide() { }

/**

   * 指定config的类型声明为: Taro.Config

   *

   * 由于 typescript 对于 object 类型推导只能推出 Key 的基本类型

   * 对于像 navigationBarTextStyle: 'black' 这样的推导出的类型是 string

   * 提示和声明 navigationBarTextStyle: 'black' | 'white' 类型冲突, 需要显示声明类型

   */

config:Config= {

navigationBarTitleText:'首页'

  }

render() {

console.log(this.props)

return(

<ViewclassName='index'>

<Text>Hello world223!</Text>

<Text>{this.props.token}</Text>

</View>

    )

  }

}

本章节总结:讲述基于tarojs/cli,

项目的基础搭建。

1、tarojs/cli基础配置

2、@符号配置

3、redux基础配置(集成到props)

4、ie浏览器兼容测试

下章节请关注个人微信公众号【微信悦】,

欢迎持续关注:taro-JYwebApp应用集成模板

备注:(使用微信客户端打开)

如需下载源代码请联系博主

(微信号:lovehua_5360)

你也可以选择留言反馈

个人微信公众号:【微信悦】

微信公众号原文链接:react+taro-JYwebApp模板集成方案项目搭建【1】

分类: taro-JYwebApp

标签: taro-JYwebApp

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。