Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何找到FireBaseAuth是否已使用v3.0.0?_Reactjs_Firebase_React Redux Firebase - Fatal编程技术网

Reactjs 如何找到FireBaseAuth是否已使用v3.0.0?

Reactjs 如何找到FireBaseAuth是否已使用v3.0.0?,reactjs,firebase,react-redux-firebase,Reactjs,Firebase,React Redux Firebase,在使用v3.0.0的react redux firebase中,有什么替代方法来确定auth是否已准备好首次渲染?本例中的问题是存储区不包含firebaseAuthIsReady,或者我遗漏了什么 //ReactReduxFirebaseProvider v3.0.0 const rrfConfig = { userProfile: 'users', attachAuthIsReady: true, firebaseStateName: 'firebase' } //const

在使用v3.0.0的react redux firebase中,有什么替代方法来确定auth是否已准备好首次渲染?本例中的问题是存储区不包含firebaseAuthIsReady,或者我遗漏了什么

//ReactReduxFirebaseProvider v3.0.0
const rrfConfig = { 
  userProfile: 'users',
  attachAuthIsReady: true,
  firebaseStateName: 'firebase'
}

//const store = configureStore(initialState, history, rrfConfig);
const store = configureStore(initialState, history);


const rrfProps = {
  firebase,
  config: rrfConfig,
  dispatch: store.dispatch,
  createFirestoreInstance
}

const MOUNT_NODE = document.getElementById('root')
//store.firebaseAuthIsReady.then(() => {
  ReactDOM.render(
    <MuiThemeProvider theme={theme}>
      <Provider store={store}>
        <ReactReduxFirebaseProvider {...rrfProps}>
          <ConnectedRouter history={history}>
            <App />
          </ConnectedRouter>
        </ReactReduxFirebaseProvider>
      </Provider>
    </MuiThemeProvider>,
    MOUNT_NODE
  );
//ReactReduxFirebaseProvider v3.0.0
常量rrfConfig={
userProfile:'用户',
真的,
firebaseStateName:“firebase”
}
//常量存储=配置存储(初始状态、历史记录、rrfConfig);
常量存储=配置存储(初始状态、历史);
常数rrfProps={
火基,
配置:rrfConfig,
调度:store.dispatch,
createFirestoreInstance
}
const MOUNT_NODE=document.getElementById('根')
//store.firebaseAuthIsReady.then(()=>{
ReactDOM.render(
,
挂载节点
);
请参阅:

//了解React-Redux Firebase v3.0。*
从“React”导入React;
从“react dom”导入react dom;
从“./App”导入应用程序;
从'redux'导入{createStore,applyMiddleware,compose};
从“react redux”导入{Provider,useSelector};
从“redux thunk”导入thunk;
从“./myproject/rootReducer”导入rootReducer;
从“redux firestore”导入{createFirestoreInstance};
从“react-redux firebase”导入{ReactRedux FirebaseProvider,isLoaded};
从“/myproject/config/fbConfig”导入firebase;
常量rrfConfig={}
const store=createStore(
减根剂,
谱写(
applyMiddleware(thunk)//如果您正在使用thunk
)
)
常数rrfProps={
火基,
配置:rrfConfig,
调度:store.dispatch,
createFirestoreInstance
}
函数authisload({children}){
const auth=useSelector(state=>state.firebase.auth)
如果(!isLoaded(auth))返回加载屏幕。。。;
返回儿童
}
ReactDOM.render(

新版本的实施方式在其文档中提到:

  • 从“react-redux firebase”导入isLoaded,如下所示:
  • 创建一个函数,当 尚未加载数据:
    function AuthIsLoaded({ children }) {  
    const auth = useSelector((state) => state.firebase.auth);   if
    (!isLoaded(auth))
        return (
          <Wrapper>
            <Loader />
          </Wrapper>
        );   
    return children; } 
    
    函数authisload({children}){
    const auth=useSelector((state)=>state.firebase.auth);如果
    (!已加载(验证))
    返回(
    );   
    返回子项;}
    
  • 将应用程序包装在AuthIsLoaded组件中,如下所示:
    <AuthIsLoaded>
        <App />
    </AuthIsLoaded>
    
    
    

  • 这将与firebaseAuthReady函数一样工作。

    promise附件在新版本中已被删除。在v3.0.0中是否有其他方法可以实现这一点?@sbtgEmapStateToProps auth from firebase-state.firebase.auth,然后您可以使用isLoaded(this.props.auth)来自RRFW的功能当答案通过审查队列时,将某项内容标记为极低质量的选项之一(应删除)答案只包含一个链接,如果该链接断开,对将来的人来说将是无用的。解决此问题的方法是确保答案是自包含的,并且使用该链接仅提供附加信息。虽然此链接可以回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,则只有链接的答案可能无效。-理解,已进行更改!
    import { isLoaded } from "react-redux-firebase"
    
    function AuthIsLoaded({ children }) {  
    const auth = useSelector((state) => state.firebase.auth);   if
    (!isLoaded(auth))
        return (
          <Wrapper>
            <Loader />
          </Wrapper>
        );   
    return children; } 
    
    <AuthIsLoaded>
        <App />
    </AuthIsLoaded>