Pir*_*mer 4 firebase reactjs react-redux
我有一个错误说Can't import 'UseSelector' from react-redux. 我正在做的是一个名为“入门”的小项目,我正在使用 firebase 并做出反应来执行此操作,这是出现错误的代码文件
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import { createStore, applyMiddleware, compose } from 'redux';
import rootReducer from './store/reducers/rootReducer'
import { Provider } from 'react-redux'
import thunk from 'redux-thunk'
import {createFirestoreInstance, reduxFirestore, getFirestore } from 'redux-firestore'
import { ReactReduxFirebaseProvider, getFirebase, reactReduxFirebase } from 'react-redux-firebase';
import firebase from 'firebase/app'
import fbConfig from './config/fbConfig'
import { useSelector } from 'react-redux'
import { isLoaded } from 'react-redux-firebase';
`
const store = createStore(rootReducer,
compose(
applyMiddleware(thunk.withExtraArgument({ getFirebase, getFirestore })),
reduxFirestore(fbConfig),
reactReduxFirebase(fbConfig, {attachAuthIsReady:true, firebase:'firebaseReducer'}) )
);
const rrfProps = {
firebase,
config: fbConfig,
dispatch: store.dispatch,
createFirestoreInstance,
userProfile: 'users', // where profiles are stored in database
presence: 'presence', // where list of online users is stored in database
sessions: 'sessions'
}
function AuthIsLoaded({ children }) {
const auth = useSelector(state => state.firebase.auth)
if (!isLoaded(auth)) return <div>Loading Screen...</div>;
return children
}
store.firebaseAuthIsReady.then(() => {
ReactDOM.render(
<Provider store={store}>
<ReactReduxFirebaseProvider {...rrfProps}>
<AuthIsLoaded>
<App />
</AuthIsLoaded>
</ReactReduxFirebaseProvider>
</Provider>,
document.getElementById('root'));
serviceWorker.unregister();
})
Run Code Online (Sandbox Code Playgroud)
我尝试重新启动 npm start,再次安装react-redux,然后重新启动 npm start,运行 npm install 并关闭 Vscode,然后重新打开它。我尝试过,我很困惑为什么它不起作用,但请帮我解决这个问题,谢谢:D。
React Redux hooks 是在 v7.1.0 中首次添加的useSelector,因此如果您像您所说的那样使用 React Redux v6.14.6,则无法导入hook。
看起来您正在开发一个类似教程的项目,所以我想您对软件包版本没有任何限制,并且可以更新它而不会出现重大问题。请注意,React Redux 7.1 需要 React 16.8.3 或更高版本,因此还要检查文件中的 React 版本package.json。
跑步:
npm uninstall react react-redux
npm i react react-redux
Run Code Online (Sandbox Code Playgroud)
然后检查您的package.jsonifdependencies条目包含"react-redux": "^7.2.1"和 "react": "^16.13.1"。
| 归档时间: |
|
| 查看次数: |
10171 次 |
| 最近记录: |