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

Я пытался интегрировать Redux в проект.

Я последовал примеру использования, но я получаю ошибку store.getState is not a function.

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

Красный код

Окружающая среда

OS: macOS Mojave 10.14
Node: 8.11.3
Yarn: 1.10.1
npm: 6.4.1
Watchman: 4.9.0
Xcode: Xcode 10.1

реагировать-натив-Cli: 2.0.1. Реактив: 0,57,2

Index.js

import React, {Component} from 'react';
import { AppRegistry } from 'react-native';

import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import promiseMiddleware from 'redux-promise';

import reducers from './src/Stores/reducers';

import App from './App';
import { name as appName } from './app.json';

const createStoreWithMiddleware = applyMiddleware(promiseMiddleware)(createStore)

const appRedux = () => (
    <Provider store={createStoreWithMiddleware}>
        <App />
    </Provider>
)

AppRegistry.registerComponent(appName, () => appRedux);

App.js

export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>
     <Cards />
     </View>
    );
  }
}

Card_reducer.js

export default function(state={}, action){
    switch(action.type){
        case 'GET_ARTICLES':
        return{...state, cards:action.payload}
        default:
        return state;
    }
}

карточка> index.js

import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
import { connect } from 'react-redux';
import { getCards } from '../Stores/actions'
import { bindActionCreators } from 'redux';

class Cards extends Component{

componentDidMount(){
    this.props.getCards()
}

    render(){
        return(
            <Text>Cartes</Text>
        )
    }
}

function mapStateToProps(state){
    console.log(state);
    return{
        cards: state.cards
    }
}

function mapDispatchToProps(dispatch){
    return bindActionCreators({getCards}, dispatch);
}

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

Редуктор> Index.js

import { combineReducers } from 'redux';

import cards from './card_reducer'

const rootReducer = combineReducers({
    cards
});

export default rootReducer;

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 11 октября 2018

Я забыл использовать редукторы в appRedux: /

const appRedux = () => (
    <Provider store={createStoreWithMiddleware}>
        <App />
    </Provider>
)

становиться

const appRedux = () => (
    <Provider store={createStoreWithMiddleware(reducers)}>
        <App />
    </Provider>
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...