Ошибка типа: undefined не является функцией (оценивает store.getState ()) - PullRequest
0 голосов
/ 12 сентября 2018

, поэтому я пытаюсь создать простые страницы, которые запрашивают ввод и предоставляют кнопку.когда кнопка нажата, страницы должны предупредить значение ввода.но не беря значение из поля ввода ..

, поэтому значение поля ввода должно быть сохранено в резервном хранилище, а при получении предупреждения значение берется из хранилища.

, но когда язапустить мои коды, он выдает ошибку, говоря, что undefined не является функцией

это мой код:

import React, {Component} from 'react';
import {View, TextInput, TouchableOpacity, Text} from 'react-native';
import {connect} from 'react-redux';

class tes extends Component{
    constructor(props){
        super(props)
        state = {
            phoneNumber: "",
        }
    }

    login() {
        this.props.onLogin(this.state.phoneNumber)
        alert(this.props.reducer.phoneNumber)
    }
    render(){
        return(
            <View>
                <TextInput placeholder="phone number"
                    keyboardType="number-pad" onChangeText={phoneNumber => this.setState({ phoneNumber })}/>
                <TouchableOpacity onPress={this.login}>
                    <Text>login</Text>
                </TouchableOpacity>
            </View>
        )}
}

mapStateToProps = (state) => {
    return {
        number: state.reducer
    }
}

mapDispatchToProps = (dispatch) => {
    return {
        onLogin: (number) => {
            dispatch({
                type: "LOGIN",
                payload: number
            })
        }
    }
}

export default connect(mapStateToProps, mapDispatchToProps)(tes);

в классе действий:

export default function setLoginNumber(number) {
    return{
        type: "LOGIN",
        payload: number
    };
}

thisмой класс редуктора:

 const reducer = (state = {
    phoneNumber: '',
},action) => {
    switch(action.type) {
        case "LOGIN":
            state = {
                phoneNumber: action.payload
            }
            break;
    }
    return state;
}

export default reducer;

и мой класс магазина, в котором я создаю хранилище с использованием приставки:

import { createStore , applyMiddleware } from 'redux';
import { composeWithDevTools } from 'redux-devtools-extension';
import reducer from './Reducer';
import thunk from 'redux-thunk';

const store = () => {
    return createStore(reducer, composeWithDevTools(applyMiddleware(thunk)));
}

export default store

Вот ошибка, показанная эмулятором

ошибка эмулятора

Кто-нибудь может мне помочь с этой ошибкой?заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...