Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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 如何根据路由器中的条件分派操作_Reactjs_Firebase_Redux_React Redux_React Router V4 - Fatal编程技术网

Reactjs 如何根据路由器中的条件分派操作

Reactjs 如何根据路由器中的条件分派操作,reactjs,firebase,redux,react-redux,react-router-v4,Reactjs,Firebase,Redux,React Redux,React Router V4,如何以正确的方式基于条件分派操作: 我执行了以下操作,但出现语法错误 const PrivateRoute=({component:component,…rest})=>{ ( firebase.auth().onAuthStateChanged((用户)=>user ?( store.dispatch(actions.login(user.uid)); ) :( store.dispatch(actions.logout()); ) ) )}/> } 常规括号((..))用于返回值。这就是语

如何以正确的方式基于条件分派操作: 我执行了以下操作,但出现语法错误


const PrivateRoute=({component:component,…rest})=>{
(
firebase.auth().onAuthStateChanged((用户)=>user
?(
store.dispatch(actions.login(user.uid));
)
:(
store.dispatch(actions.logout());
)
)
)}/>
}
常规括号(
(..)
)用于返回值。这就是语法错误的原因。你应该像下面这样做

const PrivateRoute = ({ component: Component, ...rest }) => {

  // return the Route component
  return <Route {...rest} render={props => {
    firebase.auth().onAuthStateChanged((user) => {
      if(user) {

        // run dispatch
        store.dispatch(actions.login(user.uid));
        // return component
        return <Component  {...props} />

      } else {

        // run dispatch
        store.dispatch(actions.logout());
        // return component
        return <Redirect to={{ pathname: '/login', state: { from: props.location } }} />

      }
    });
  }} />  
}
const PrivateRoute=({component:component,…rest})=>{
//返回路由组件
返回{
firebase.auth().onAuthStateChanged((用户)=>{
如果(用户){
//运行调度
store.dispatch(actions.login(user.uid));
//返回组件
返回
}否则{
//运行调度
store.dispatch(actions.logout());
//返回组件
返回
}
});
}} />  
}
const PrivateRoute = ({ component: Component, ...rest }) => {

  // return the Route component
  return <Route {...rest} render={props => {
    firebase.auth().onAuthStateChanged((user) => {
      if(user) {

        // run dispatch
        store.dispatch(actions.login(user.uid));
        // return component
        return <Component  {...props} />

      } else {

        // run dispatch
        store.dispatch(actions.logout());
        // return component
        return <Redirect to={{ pathname: '/login', state: { from: props.location } }} />

      }
    });
  }} />  
}