本文共 2115 字,大约阅读时间需要 7 分钟。
react-native-code-push 使用codepush进行ReactNative热部署import React, { Component } from 'react'import reducers from './reducers'import thunk from 'redux-thunk'import {Provider} from 'react-redux'import {persistStore, autoRehydrate} from 'redux-persist'import {createStore, applyMiddleware} from 'redux'import {AsyncStorage} from 'react-native'import codePush from 'react-native-code-push'import apiRequest from './helper/apiRequestMiddleware'import Home from './pages/MainScreen'const createStoreWithMiddleware = applyMiddleware(thunk, apiRequest)(createStore)const store = autoRehydrate()(createStoreWithMiddleware)(reducers)persistStore(store, {storage: AsyncStorage})import { Platform, StatusBar, BackAndroid, View, Navigator} from 'react-native'export const STATUS_BAR_HEIGHT = (Platform.OS === 'ios' ? 20 : 25)export const NAV_BAR_HEIGHT = (Platform.OS === 'ios' ? 44 : 56)export const ABOVE_LOLIPOP = Platform.Version && Platform.Version > 19export default class extends Component { /* * IMMEDIATE(0) // 更新完毕,立即生效 * ON_NEXT_RESTART(1) // 下次启动生效 * ON_NEXT_RESUME(2) // 切到后台,重新回来生效 */ componentDidMount () { codePush.sync({ updateDialog: { optionalIgnoreButtonLabel: '稍后', optionalInstallButtonLabel: '更新', mandatoryUpdateMessage: '', optionalUpdateMessage: '', appendReleaseDescription: true, descriptionPrefix: '有新版本,是否下载?\n\n ===更新内容===\n', title: '更新提示' }, installMode: codePush.InstallMode.ON_NEXT_RESUME }) BackAndroid.addEventListener('hardwareBackPress', this.handleBack) } componentWillUnmount () { BackAndroid.removeEventListener('hardwareBackPress', this.handleBack) } handleBack = () => { const navigator = this.refs.navigator if (navigator && navigator.getCurrentRoutes().length > 1) { navigator.pop() return true } return false }; render () { return () } configureScene (route) { return route.scene || Navigator.SceneConfigs.FloatFromBottom }} { return }}/>
转载地址:http://cieni.baihongyu.com/