我尝试了redux的所有命令,但没有用:您如何看待解决方案。这些是我尝试过的命令
yarn add react-redux
yarn add reduxjs / Redux-thunk#master
npm install --save Redux react-redux
npm install redux -- save
npm i redux -- save
yarn add redux-thunk
index.jsx
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import {createStore, applyMiddleware,compose} from 'redux';
import rootReducer from './store/reducers/rootReducer';
import {Provider} from 'react-redux';
import thunk from 'redux-thunk';
import {reduxFirestore,getFirestore} from 'redux-firestore'
import {reactReduxFirebase,getFirebase} from 'react-redux-firebase'
import fbConfig from './config/fbConfig';
const store=createStore(rootReducer,
compose(
applyMiddleware(thunk.withExtraArgument({getFirebase,getFirestore})),
reduxFirestore(fbConfig),
reactReduxFirebase(fbConfig)
));
ReactDOM.render(<Provider store={store}><App /></Provider>, document.getElementById('root'));
package.json
{
"name": "omaga-yazilim",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^npm i --save react-router4.2.4",
"@testing-library/react": "^9.4.0",
"@testing-library/user-event": "^7.2.1",
"firebase": "^7.8.1",
"jest-leak-detector": "^25.1.0",
"moment": "^2.22.2",
"react": "^16.6.3",
"react-dom": "^16.6.3",
"react-redux": "^7.1.3",
"react-redux-firebase": "^3.1.1",
"react-router": "^4.4.0-beta.8",
"react-router-dom": "^4.4.0-beta.6",
"react-scripts": "^2.1.1",
"redux": "^4.0.5",
"redux-firestore": "^0.12.0",
"redux-thunk": "reduxjs/redux-thunk#master",
"start": "webpack-dev-server --mode development"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
答案 0 :(得分:4)
我遇到了同样的问题,但是我运行了命令行:
npm install-保存redux-thunk
答案 1 :(得分:1)
最简单的解决方案是使用our new official Redux Toolkit package。 configureStore
function将自动正确设置存储,包括默认情况下添加thunk中间件。假设您要使用React-Redux-Firebase,可以使用getDefaultMiddleware
API:
const store = configureStore({
reducer: rootReducer,
middleware: [...getDefaultMiddleware({
thunk: {
extraArgument: {getFirebase,getFirestore}
}
})],
enhancers: [reduxFirestore(fbConfig), reactReduxFirebase(fbConfig)]
})