react-native - 如何在本机反应中发送数据?
问题描述
如何将数据从屏幕发送到其他屏幕并将其保存在卡中我没有找到方法。我通过导航和路由器通量为其他按钮使用页脚。
我试过了Action.hometab({name:this.state.name})
解决方案
第一页
import React, { Component } from "react";
import { Container,Content,Button,Input,Item,Form,Textarea,Text} from "native-base";
import styles from "./styles";
import firebase from "firebase";
import { Actions } from 'react-native-router-flux';
import PorsonTab from './PorsonTab'
class NewStr extends Component {
componentDidMount() {
var that = this;
var date = new Date().getDate();
var month = new Date().getMonth() + 1;
var year = new Date().getFullYear();
var hours = new Date().getHours();
var min = new Date().getMinutes();
that.setState({ date: date + '/' + month + '/' + year + ' ' + hours + ':' + min, }); }
test = () => {
firebase.database().ref().child('users').push(
{ name:this.state.name,story: this.state.story,time2:this.state.date }),
Actions.sentmsg();
this.props.navigation.navigate('PorsonTab', {name:this.state.name})
}
state = {name: "",story: "",time2:""}
render() {
return (
<Container style={styles.container}>
<Content padder>
<Form>
<Item regular>
<Input onChangeText = {name => this.setState({name})} placeholder="عنوان القصة" />
</Item>
</Form>
<Text/>
<Text/>
<Textarea onChangeText = {story => this.setState({story})} rowSpan={5} bordered placeholder="محتوى الرسالة يجيب الا تقل عن 100 كلمة" />
<Text/>
<Text/>
<Text/>
<Text/>
<Text/>
<Button block primary style={styles.mb15}
onPress={this.test.bind(this)} >
<Text>نشر</Text>
</Button>
</Content>
</Container>
);
}
}
export default NewStr;
第二页
import {Container,Text,Content,Card,CardItem,Body} from 'native-base';
import {Icon} from 'native-base';
import React, {Component} from 'react';
import styles from "./styles";
export default class PorsonTab extends Component {
static navigationOptions = {
tabBarIcon: ({tintColor}) => {
return < Icon name='md-contacts' style={{color:tintColor}}/>
}
}
render(){
return(
<Container style={styles.container } >
<Content padder >
<Card style={styles.mb1} >
<CardItem header bordered style={styles.mbitem} >
<Text style={{flex:1,textAlign:'center'}}> {this.props.navigation.state.params('name')}</Text>
</CardItem>
<Body>
<Text style={{flex:1,textAlign:'center'}}>
1
</Text>
</Body>
</Card>
</Content>
</Container>
);
}
}
推荐阅读
- docker - 谷歌云上基于 Windows 的容器运行
- virtualization - 如何解决 QEMU 和 HAXM 便携式启动问题?
- python - 如何制作一个好的乘法图表
- prolog - 使用 Prolog 与列表和字符串进行模式匹配
- php - 写入标准输出时PHP请求静默死亡
- reactjs - 打字稿:React.forwardRef 带有来自@material-ui 的通用道具
- apache-spark - 无法建立与 Kafka 的连接时,Spark Streaming 作业不会失败
- amazon-web-services - AWS 培训 - 未显示符合条件的考试?
- spawn - MPI4PY 将数据从生成的子节点发送到主节点
- spring - 从另一个 Spring Boot 项目加载 application.properties