ошибка eslint «Необходимо использовать назначение реквизитов деструктурирования «

#reactjs #next.js #eslint

Вопрос:

Кто-нибудь знает, как я обнаружил эту ошибку? Мой код работает так, но я получаю эту ошибку, я пробовал несколько способов, но я не знаю, как это исправить.

   13:17  error    Must use destructuring props assignment



export default function Cadastro(props) {
  const Email = props.user.email;

  console.log(Email);

  const email = Email;
 

Я получил свой реквизит таким образом:

 export const getServerSideProps = async ({ req }) => {
  const { user } = await getSession({ req });

  return {
    props: {
      user,
    },
  };
};
 

Комментарии:

1. Попробуйте это: const { email: Email } = props.user; кроме того, вы также можете сделать function Cadastro({ user })

2. Или const { user: { email }} = props; — Хотя мое личное предпочтение-синтаксис @MorKadosh

Ответ №1:

Вы должны измениться с:

 export default function Cadastro(props) {
  const Email = props.user.email;
 

Для:

 export default function Cadastro({ user }) {
  const Email = user.email; 
  // ...
 

Кроме того, примите во внимание, что вам придется сделать это для любой опоры, которую вы ожидаете. Нравится:

 export default function Cadastro({ user, prop1, prop2, ..., propN })