У меня есть этот код: https://codesandbox.io/s/507w9qxrrl
Я не понимаю:
1) Как перерисовать() Menu
после:
this.props.client.query({
query: CURRENT_USER_QUERY,
fetchPolicy: "network-only"
});
Если я вхожу в систему(), я ожидаю, что мой компонент Menu
будет перерисовывать() сам. Но ничего.
Только если я нажимаю ссылку "Домой", она повторно отображает(). Я подозреваю, потому что я использую это для рендеринга:
<Route component={Menu} />
чтобы охватить его в реквизитах ретранслятора. Это неправильно?
Плюс, если проверить this.props
меню после login()
, я вижу loading: true
навсегда. Почему?
2) Как предотвратить компонент Menu
для запроса, если не аутентифицирован (например: в локальном хранилище нет токена); Я использую в компоненте Menu
этот код:
export default graphql(CURRENT_USER_QUERY)(Menu);
3) Правильно ли это?