Реактив нативный - как я могу сохранить результат моих полей - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть такое приложение: https://i.gyazo.com/4cfe178d3a59bf4e7449a7aacd0f114e.png Это приложение для игры в пьющую игру: с.Я хочу сохранить все входные данные уже для четырех входных данных и до и после полей, добавленных пользователем

import React, { Component } from 'react';
import {
  View,
  Text,
  Button,
  ScrollView,
  TextInput,
  TouchableOpacity,
  StatusBar
} from 'react-native';
import { createStackNavigator } from 'react-navigation';
import { style } from './style';

class Form extends Component {
  constructor(props) {
    super(props);
    StatusBar.setBarStyle('light-content', true);
    console.log(this.props);
    state = {
        users: [{
            id:1,
            prenom:''
        }, {
            id:2,
            prenom:''
        }, {
            id:3,
            prenom:''
        }, {
            id:4,
            prenom:''
        }]
    }
  }

  saveUser = value => {
    console.log('test');
  };

  showInput() {
    return state.users.map((item) => {
        console.log(item);
        return (
            <TextInput
                key={item.id}
                style={style.input}
                placeholder={`Prénom ${item.id}`}
                placeholderTextColor="#29235c"
                />
        );
    });
   }

  render() {
    return this.props.fontLoaded ? (
      <View style={style.bgWhite}>
        <ScrollView>
            {
                 this.showInput()
            }
          <View style={style.morePlayer}>
            <Text style={style.morePlayerText}>+</Text>
          </View>
        </ScrollView>
        <View style={style.center}>
          <TouchableOpacity
            activeOpacity={0.9}
            onPress={() => this.props.navigation.navigate('Game')}
            style={style.btnPlay}
          >
            <Text style={style.textPlay}>ON TEASE!</Text>
          </TouchableOpacity>
          <Button title="Go to Details" onPress={() => this.props.navigation.navigate('Game')} />
        </View>
      </View>
    ) : null;
  }
}

export default Form;

Должен ли я сохранить это в asyncstorage?Я хочу передать все значения ввода в параметрах, чтобы перейти на другой экран.

Спасибо,

1 Ответ

0 голосов
/ 19 сентября 2018

Если вам просто нужно передать параметры на другой экран, вы можете просто передать объект в качестве второго аргумента навигации.

this.props.navigation.navigate('Game', {
    users: this.state.users,
    otherParam: 'anything you want here',
});
...