Я пытался интегрировать 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;
Спасибо за вашу помощь.