gpt4 book ai didi

javascript - 类型错误 : store. getState 不是函数。 (在 'store.getState()' 中, 'store.getState' 未定义

转载 作者:行者123 更新时间:2023-12-03 00:57:30 31 4
gpt4 key购买 nike

我一直在尝试将 Redux 集成到项目中。

我按照使用示例进行操作,但收到错误store.getState is not a function。

所以我知道其他人也问过类似的问题,但情况略有不同。

Red Code

环境

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

react-native-cli: 2.0.1 react-native: 0.57.2

索引.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);

reducer > Index.js

import { combineReducers } from 'redux';

import cards from './card_reducer'

const rootReducer = combineReducers({
cards
});

export default rootReducer;

感谢您的帮助。

最佳答案

我忘记在 appRedux 上使用 reducer :/

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

成为

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

关于javascript - 类型错误 : store. getState 不是函数。 (在 'store.getState()' 中, 'store.getState' 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52761182/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com