react-native 组件之间传值
1.通过 AsyncStorage 将值保存在本地(最低端的方法)
import {
AsyncStorage,
} from 'react-native';
// 保存 IP
AsyncStorage.setItem('LoginIP',new_value);
// 获取IP
let ApiBase;
AsyncStorage.getItem('LoginIP')
.then((value) => {
that.setState({
ApiBase: value
});
});
2.定义成员属性 通过 props 传值(父组件向子组件传值)
CommunalCell.js
定义成员属性 接收外部传值
/**
* Cell
*/
import React, { Component } from 'react';
import {
StyleSheet,
Text,
View,
} from 'react-native'; import PropTypes from 'prop-types'; export default class CommunalCell extends Component { // 定义成员属性
static propTypes = {
name:PropTypes.string,
gender:PropTypes.string,
}; render() {
return (
<View>
<Text>姓名:{this.props.name}</Text>
<Text>姓名:{this.props.gender}</Text>
</View>
);
}
} const styles = StyleSheet.create({ });
引用 传值
// 引入 cell
import CommunalCell from '../main/CommunalCell'; // 返回每一行cell的样式
renderRow(rowData) {
// 使用cell组件
return(
<CommunalCell
name={rowData.name}
gender={rowData.gender}
/>
);
}
3.通过回调方法传值 (子组件向父组件传值)
子组件
// 提供参数出去,便于外部调用
static defaultProps = {
removeModal:{}
} // 定义方法,便于组件触发
popToHome(data) {
// 向外部传值(向父组件传值)
this.props.removeModal(data);
} // 返回右边按钮
renderRightItem() {
return(
<TouchableOpacity
onPress={() => {this.popToHome(false)}}
>
<Text style={styles.navbarRightItemStyle}>关闭</Text>
</TouchableOpacity>
);
}
父组件
// 接收子组件的回调
render(){
return(
<ChartModal removeModal={(data) => this.closeModal(data)} />
);
} // 根据返回值,触发事件
closeModal(data) {
this.setState({
isChartModal:data
})
}
.
react-native 组件之间传值的更多相关文章
- react 组件之间传值
谈及React时,就会想到一个很重要的思想,就是组件化思想.它将可以重用的部分进行组件化开发,形成一个个相对独立的组件,那么组件化后,你也会提出些疑问,组件与组件之间,将怎样进行信息的传递呢?下面来介 ...
- react组件之间传值方式
1.父向子(通过props传值) 2.父向更深层的子(通过context传值) 3.子向父(通过回调函数传值:在父组件中创建一个函数来接收子组件传过来的参数值,通过父组件将这个函数做为子组件的属性传递 ...
- React Native组件之Switch和Picker和Slide
React Native组件Switch类似于iOS中的UISwitch:组件Slide类似于iOS中UIslider,组件Picker类似于iOS的UIPickerView.他们的使用方法和相关属性 ...
- beeshell —— 开源的 React Native 组件库
介绍 beeshell 是一个 React Native 应用的基础组件库,基于 0.53.3 版本,提供一整套开箱即用的高质量组件,包含 JavaScript(以下简称 JS)组件和复合组件(包含 ...
- react native组件的创建
react native组件的创建 react文件加载顺序: react项目启动后,先加载index.js.在index.js中可以指向首页. import { AppRegistry } from ...
- React Native组件(三)Text组件解析
相关文章 React Native探索系列 React Native组件系列 前言 此前介绍了最基本的View组件,接下来就是最常用的Text组件,对于Text组件的一些常用属性,这篇文章会给出简单的 ...
- React Native组件间通信
React Native组件间通信 React Native组件的关系有:父子关系.无直接关系.组件间通信主要针对这两类来讨论. 一.父组件和子组件之间通信 父组件向子组件传递消息.数据通过对子组件的 ...
- 4-react 组件之间传值。
1.传值: 都是使用props和state结合得方式进行组件之间得传值 再react中传值得话是父子组件之间得传值,一般会把父组件中得state值通过props传给子组件,再子组件中使用props进行 ...
- React Native组件之Text
React Native组件之Text相当于iOS中的UILabel. 其基本属性如下: /** * Sample React Native App * https://github.com/face ...
- React Native 组件之TextInput
React Native 组件之TextInput类似于iOS中的UITextView或者UITextField,是作为一个文字输入的组件,下面的TextInput的用法和相关属性. /** * Sa ...
随机推荐
- ES6生成器与迭代器
ES6迭代器的一个例子 function run(taskDef) { var task = taskDef(); var result = task.next(); // 递归执行迭代 functi ...
- 逆序单词 HIhoCoder 1366 字典树
逆序单词 HIhoCoder 1366 字典序 题意 在英文中有很多逆序的单词,比如dog和god,evil和live等等. 现在给出一份包含N个单词的单词表,其中每个单词只出现一次,请你找出其中有多 ...
- Ubuntu终端路径和文件夹相互切换
一. 环境配置 1. 打开终端输入安装命令 sudo apt-get install nautilus-open-terminal 2. 重新加载文件管理器 nautilus -q 3. 重启电脑 s ...
- 1、Java语言概述与开发环境——JDK JRE JVM理解
一.理解概念: 1.JDK(Java Development Kit Java开发工具包) JDK是提供给Java开发人员使用的,其中包含Java的开发工具,也包括JRE,所以安装了JDK,就不用单独 ...
- Ubuntu系统下Bazel编译Tensorflow环境
编写此文主要为了介绍在Ubuntu16.04上搭建Tensorflow-lite编译环境,涉及目标硬件为Armv7架构,8核Cortex-A7. 1.开发环境介绍: OS:Ubuntu16.04 64 ...
- C 调试 gdb常用命令
gdb常用命令: [root@redhat home]#gdb 调试文件:启动gdb (gdb) l :(字母l)从第一行开始列出源码 (gdb) break n :在第n行处设置断点 (gdb) b ...
- HMP许可更新
1.打开HMP License Manager,显示路径(License File Name)下的文件为最新许可,点击Activate License后,点击Show License Details, ...
- N^2取N
序列合并 有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2个和,求这N^2个和中最小的N个. 先把A B排序 然后pushA[1]+B[i](1<=i<=n)每次取出一 ...
- qt配置opengl
cmake 编译opengl,参考https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows cmake configure完成没有错误后,点击g ...
- vue-router解析,vue-router原理解析
前言:新一季面试季,重新整理一些知识点: 本文详细说明自己对vue-router原理的理解: 参考: 源码:vuejs/vue-router v2.2.1 - github 文档:vue-router ...