Передайте этот компонент функции arrow [Реагировать]

#javascript #reactjs

#javascript #reactjs

Вопрос:

Я пытаюсь передать этот компонент, созданный с помощью ‘class’, в ‘функции arrow’, но я новичок в React и JavaScript, поэтому я все еще не могу его получить, может кто-нибудь мне помочь?

 const cookies = new Cookies();
 class Index extends React.Component {

  constructor(props) {
   super(props);
   this.state = {
    token: cookies.get('token') || null
   }
  }
 }
  

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

1. Вы имеете в виду преобразование компонента класса в функциональный компонент (функция Arrow)?

2. да, это то, чего я хочу!

3. Проверьте это: reactjs.org/docs/hooks-intro.html

Ответ №1:

В React есть 2 типа компонентов 1.Class Компоненты на основе и 2. Функциональные компоненты вы можете преобразовать компонент на основе класса в функциональный компонент, используя функцию arrow

вы можете записать вышеупомянутый компонент на основе класса в функциональный компонент следующим образом

 import React,{useState} from 'react'

const index=()=>{
const [cookies, setCookies] = useState(cookies.get('token') || null);
return(
    <div>
        
    </div>
  )
}
  

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

1. useState должно быть внутри функционального компонента, вы можете ввести кого-нибудь в заблуждение!

Ответ №2:

После импорта и использования useState перехвата вы можете выполнить одно из следующих действий:

 function Index(props) {
    const [cookies, setCookies] = useState(cookies.get('token') || null);
    // do stuff and return something
}
  

или

 const Index = (props) => {
    const [cookies, setCookies] = useState(cookies.get('token') || null);
    // do stuff and return something
}