React Native 路由跳转

  • 发送广播和接受事件通知DeviceEventEmitter
    A/B页面之间进行"通信"

    //A页面 导入组件:
    import { DeviceEventEmitter } from 'react-native';//添加监听
    
    //A页面 添加广播事件
    DeviceEventEmitter.emit('setTitle', result.data);
    //B页面 导入组件
    import { DeviceEventEmitter } from 'react-native';//添加监听
    
    componentWillMount() {
        this.setTitle = DeviceEventEmitter.addListener('setTitle', (title)=>{
            this.setState({
                title,
            })
        });
    }
    //最后不要忘了,卸载接受广播的方法
    componentWillUnmount(){
        // DeviceEventEmitter.removeListener();
        this.setTitle.remove();
    }
  • 返回并刷新页面,
    this.props.navigation.goBack()并不会触发前一个页面的生命钩子,然而有时我们在新页面进行了修改操作,
    同时之前的页面也发生了相应的改变

    this.props.navigation.navigate("newPage", {
        id: this.state.id,
        refresh: function () {
            this._init();
        }
    });
    //newPage页面返回操作执行后会执行 refresh 方法里的 _init();
    <View onPress={() => {
        this.props.navigation.state.params.refresh();
        this.props.navigation.goBack();
    }}>
        <Text>goback</Text>
    </View>

React Native 项目名称修改

  • 修改应用显示名(手机上的APP名称)
androidappsrcmainresvaluesstrings.xml //IOS下可以在 ios{project}Info.plist中直接更改
  • 修改包名
package.json
index.{os}.js
androidsettings.gradle
androidappbuild.gradle
androidappsrcmainjavacom{project}
androidappsrcmainjavacom{project}MainActivity.java
androidappsrcmainjavacom{project}MainApplication.java
<key>CFBundleIdentifier</key>
<key>CFBundleName</key>
//下的string直接更改项目名称。
//不过在XCode下更方便,开发IOS的话,还是来台MAC吧 - -

React Native 应用图标修改

替换android/app/src/main/res/mipmap-XXX文件夹里面的图片,名字不能修改
图片描述

React Native 启动页设置

替换android/app/src/main/res/drawable-XXX文件夹里面的图片,名字不能修改
图片描述

注:gradlew assembleRelease或者react-native run-android之前最好先gradlew clean

Android如何查看应用签名信息

打开密钥放置文件夹(android/app/),输入以下命令,my-release-key.jks为密钥文件名

keytool -list -keystore my-release-key.jks

liuoomei
175 声望18 粉丝

走出舒适区,外面的风景格外迷人!