Невозможно уничтожить свойство нуля - PullRequest
4 голосов
/ 10 июля 2019

У меня есть компонент, который разрушает user из его auth prop:

 const Profile = ({
     auth: {user}
 }) => {...}

Проблема в том, что когда я занимаюсь разработкой, Nodemon продолжает обновлять мою страницу всякий раз, когда я сохраняю какие-либо изменения.Когда компонент пытается подключиться, он выдает ошибку, из-за которой он не может деструктурировать user из auth, поскольку auth в этот момент не имеет значения (пока я не перейду на сайт и не войду в систему заново).

Есть ли элегантный способ справиться с этим?Я посмотрел на эту статью , но я не могу сделать что-то вроде const { user } = auth || {}.Ну, я имею в виду, я могу, но я хочу деструктурировать из реквизита, а не делать const { user } = auth || {} в теле функции.

1 Ответ

3 голосов
/ 10 июля 2019

Когда auth равно null, невозможно использовать параметр по умолчанию с синтаксисом деструктурирования для разрешения user без выброса TypeError.

Просто деструктурируйте до auth и проверьте, правда ли это:

const Profile = ({ auth }) => {
  const user = auth && auth.user;
  ...
}
...