React Not Found сторона сервера рендеринга - PullRequest
0 голосов
/ 17 октября 2018

Я использую React Router v4 , и это хорошо работает.

<Switch>
    <Router path="/users/:uid" component={Profile} />
    <Router path="*" component={NotFound} />
</Switch>

Хорошо, если я получу доступ к домену, /blabla NotFound компонент хорошо рендерится.


Но мне интересно, как я могу отрендерить NotFound до /users/:uid, когда пользователя не существует.

app.get('/users/:uid', (req, res) {
    if( // user exist) { 
        res.json({user})
    } 

    else res.status(404).json({ message: 'User not exist'})
})

Возможно, мне нужно подключить ответ сервера, но я не знаю, как лучше.

class Profile extends Component {

   componentWillMount = () => {
       this.props.fetchUser(uid)
   }

   render(){

       if(!this.props.loading && !this.props.user) return <NotFound />
       else return (...)
   }
}

Это правильный путь?Я использую вместе Редукс.

1 Ответ

0 голосов
/ 17 октября 2018
class Profile extends Component {
   render(){
       if(!this.props.loading && !this.props.user) {
        this.props.history.push('/bababa') // you can jump to notFound
        return
      }
       else return (...)
   }
 }

это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...