首页 > 解决方案 > 如何在本机反应中发送数据?

问题描述

如何将数据从屏幕发送到其他屏幕并将其保存在卡中我没有找到方法。我通过导航和路由器通量为其他按钮使用页脚。

我试过了Action.hometab({name:this.state.name})

标签: react-nativereact-native-router-flux

解决方案


第一页

    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>

     );
 }
}

推荐阅读