基于 react-navigation 父子组件的跳转链接
1、在一个页面中中引入一个组件,但是这个组件是一个小组件,例如是一个cell,单独的每个cell都是需要点击有链接跳转的,这个时候通常直接使用 onPress 的跳转就会不起作用
正确的处理方法是,在组件中封装一个点击事件,然后在父组件中执行跳转的函数
正常的跳转方法是:
import React from 'react';
import {
StyleSheet,
Text,
View,
Image,
TouchableOpacity,
ScrollView,
} from 'react-native'; // navigator
import { StackNavigator } from 'react-navigation'; // 引入组件 Cell
import CommonCell from './commonCell'; export default class More extends React.Component { // 顶部导航
static navigationOptions = ({ navigation }) => {
const { navigate } = navigation;
return {
title: '更多',
tabBarLabel: '更多',
mode: 'card',
headerMode: 'float',
activeTintColor: '#000000',
};
}; render() {
const { navigate } = this.props.navigation;
return (
<View style={styles.container}>
<ScrollView> <View style={{marginTop: }}>
<TouchableOpacity
onPress={() => navigate('ShakeMode')} // 跳转
>
<Text>点击震动手机</Text>
</TouchableOpacity>
</View> </ScrollView>
</View>
);
} } const styles = StyleSheet.create({
container: {
flex: ,
backgroundColor: '#e8e8e8',
},
});
如果引入了组件,在组件中要跳转,方法如下
父组件:
import React from 'react';
import {
StyleSheet,
Text,
View,
Image,
TouchableOpacity,
ScrollView,
} from 'react-native'; // navigator
import { StackNavigator } from 'react-navigation'; // 引入组件 Cell
import CommonCell from './commonCell'; export default class More extends React.Component { // 顶部导航
static navigationOptions = ({ navigation }) => {
const { navigate } = navigation;
return {
title: '更多',
};
}; render() {
const { navigate } = this.props.navigation;
return (
<View style={styles.container}>
<ScrollView>
<View style={{marginTop: }} >
<CommonCell
nextClick={() => {this.endClick()}}
title="点击震动手机"
/>
</View> </ScrollView>
</View>
);
} // 控制跳转
endClick() {
const { navigate } = this.props.navigation;
navigate('ShakeMode')
} } const styles = StyleSheet.create({
container: {
flex: ,
backgroundColor: '#e8e8e8',
},
});
引入组件
CommonCell,并将方法 nextClick = endClick,
endClick执行跳转的方法,
nextClick 传递给子组件
子组件
render() {
return (
<TouchableOpacity
onPress={this.props.nextClick}
>
<View style={styles.container}>
{/**左边**/}
<Text style={{marginLeft: 10}}>{this.props.title}</Text>
{/**右边 返回什么需要判断 **/}
{this.renderRightView()}
</View>
</TouchableOpacity>
);
}
这样就可以实现跳转了
基于 react-navigation 父子组件的跳转链接的更多相关文章
- 使用react进行父子组件传值
在单页面里面,父子组件传值是比较常见的,之前一直用vue开发,今天研究了一下react的父子组件传值,和vue差不多的思路,父组件向子组件传值,父通过初始state,子组件通过this.props进行 ...
- React中父子组件间的通信问题
1.https://blog.csdn.net/sinat_17775997/article/details/59103173 (React中父子组件间的通信问题)
- React中父子组件数据传递
Vue.js中父子组件数据传递:Props Down , Events Up Angular中父子组件数据传递:Props Down, Events Up React中父子组件数据传递:Prop ...
- 如何基于 React 封装一个组件
如何基于 React 封装一个组件 前言 很多小伙伴在第一次尝试封装组件时会和我一样碰到许多问题,比如人家的组件会有 color 属性,我们在使用组件时传入组件文档中说明的属性值如 primary , ...
- React之父子组件之间传值
1.新增知识点 /** React中的组件: 解决html 标签构建应用的不足. 使用组件的好处:把公共的功能单独抽离成一个文件作为一个组件,哪里里使用哪里引入. 父子组件:组件的相互调用中,我们把调 ...
- 关于React的父子组件通信等等
//==================================================此处为父子组件通信 1.子组件调用父组件: 父组件将子组件需要调用方法存入props属性内,子组 ...
- React中父子组件传值
一.首先我们先来看父组件向子组件传值 1.1 我们要明白父组件 --> 子组件 是通过props这个属性来传值的 我们来看父组件的代码 import React from 'react'; im ...
- 基于react hooks,zarm组件库配置开发h5表单页面
最近使用React Hooks结合zarm组件库,基于js对象配置方式开发了大量的h5表单页面.大家都知道h5表单功能无非就是表单数据的收集,验证,提交,回显编辑,通常排列方式也是自上向下一行一列的方 ...
- React之父子组件传递和其它一些要点
react是R系技术栈中最基础同时也是最核心的一环,2年不到获取了62.5k star(截止到目前),足可见其给力程度.下面对一些react日常开发中的注意事项进行罗列. React的组件生命周期 r ...
随机推荐
- 洛谷 P3496 [POI2010]GIL-Guilds
P3496 [POI2010]GIL-Guilds 题目描述 King Byteasar faces a serious matter. Two competing trade organisatio ...
- imu 和 private redo
在传统的undo管理模式中,Oracle对undo和data block是一视同仁.这样大致会有三种弊端: 1)事务开始时,存放事务表的段头不在内存,server process需要将此i/o上来 2 ...
- 翻翻git之---溜的飞起的载入效果AVLoadingIndicatorView
转载请注明出处:王亟亟的大牛之路 由于接近过春节.看各个群体的工作都不太旺盛(不是年会就是各种吹B或是放空). 之前的Material Design的内容差点儿讲的差点儿相同了(至少基本的几个控件都介 ...
- 配置Java连接池的两种方式:tomcat方式以及spring方式
1. tomcat方式:在context.xml配置连接池,然后在web.xml中写配置代码(也能够在server.xml文件里配置连接池).这两种方法的差别是:在tomcat6版本号及以上中cont ...
- 《解读window核心编程》 之 注冊表
1 注冊表的作用及组织形式 Windows系统使用注冊表来存储系统和应用程序配置数据.非常多系统和应用程序重要的配置的信息都存储在注冊表中. 注冊表是一种以树型结构组织的数据库.树的每个节点称 作键( ...
- 转:Java阳历转农历
package cloud.app.prod.home.utils; import java.text.ParseException; import java.text.SimpleDateForma ...
- bzoj1231 [Usaco2008 Nov]mixup2 混乱的奶牛——状压DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1231 小型状压DP: f[i][j] 表示状态为 j ,最后一个奶牛是 i 的方案数: 所以 ...
- 123D
后缀数组+单调栈 看了好长时间,最后看了张神的程序才搞懂 意思就是求所有子串*n*(n+1)/2 n是子串出现次数 事实上,lcp可以看成宽度为1,高度为lcp值的长方形,所有lcp放在一起就是一堆长 ...
- 第14章 Wi-Fi系统应用 14.1 了解Wi-Fi系统的结构
Android平台中Wi-Fi系统从上到下主要包括Java框架类.Android适配器库.wpa_supplicant守护进程.驱动程序和协议,这几部分的系统结构如图14-3所示. (1)Wi-Fi用 ...
- A. Jeff and Digits(cf)
A. Jeff and Digits time limit per test 1 second memory limit per test 256 megabytes input standard i ...