Пожалуйста, взгляните на пример документа-редуктора: https://redux.js.org/basics/example.
Это даст вам хороший пример для вашей установки.
Вам нужно будет создать избыточный магазин и редукторы . Кроме того, вам нужно будет обернуть компонент приложения в избыточный provider
.
Для чего-то подобного вы можете создать хранилище прямо в файле index.js
, а затем создать папку reducer
, возможно, в вашей директории src
. (Редакция документов поможет вам в создании файлов).
Я бы добавил какую-нибудь кнопку submit
, чтобы вы не отправляли действие редукторному редуктору каждый раз, когда пользователь добавляет текст, а затем добавляете функцию для отправки текста в хранилище редуксов в кнопке. .
Например:
import React, { Component } from "react";
import {
View,
Text,
StyleSheet,
TextInput,
Button
} from "react-native";
import { connect } from 'react-redux';
class App extends Component {
constructor(props) {
super(props);
this.state = {
Text: '',
}
this.submitText = this.submitText.bind(this);
}
submitText() {
let { Text} = this.state;
const { dispatch } = this.props;
dispatch({type: <name of your action type>, payload: Text });
}
render() {
return (
<View style={styles.container}>
<TextInput
placeholder="Enter Text"
value={this.state.Text}
onChangeText={Text => this.setState({ Text })}
/>
<Text>{this.state.Text}</Text>
<Text >Submit</Text>
<Button
onPress={this.submitText}
title="Submit"
color="#841584"
/>
</View>
);
}
}
export default connect()(App);
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center'
}
});
Обратите внимание на метод connect
по умолчанию при экспорте и отправку в submitText
. Метод connect - это то, что подключит ваш компонент к redux, а диспетчеризация - это то, что отправляет действие или данные в редуктор и в хранилище redux.