Top.Mail.Ru
Ответы

Не работает новый хук use(), в чём проблема?

Хук use() пока находится в экспериментальной версии, его смысл - он принимает Promise, обрабатывает его и возвращает результат. Но use() в отличие от других хуков - можно вкладывать в условные конструкции и циклы. Вот я попробовал его использовать на своём трен.проектике, но что-то не пошло, выдаёт ошибку, её гугленье никаких результатов не дало

123456789101112131415161718192021222324252627282930313233
 import {useState, useEffect, use} from 'react'; 
import './charList.scss'; 
 
import {getCharackters} from '../../api/data.jsx';  // функция, делающая fetch-запрос к APIшке и возвращает объект персонажей 
import CharInfo from '../charInfo/CharInfo.jsx'; 
 
 
const CharList = (props) => { 
 
    const [dataCards, setDataCards] = useState(0) 
 
    useEffect(() => { 
        // getCharackters().then( 
        //     info => setDataCards(info.data.results) 
        // ) 
        use(fetch('https://gateway.marvel.com:443/v1/public/characters?apikey=-мой-API-ключ').then(  // тут без функции getCharackters(), сразу делаю fetch-запрос 
            info => setDataCards(info.data.results) 
        )) 
    }, [])  
 
 
    const cardDataList = Array.from(dataCards);   
    const cards = //преобразование полученных данных в html-структуру через .map()
 
    return( 
        <ul className="char__list"> 
            {cards} 
        </ul>  
    ) 
  
} 
 
export default CharList; 





Подскажите, если пробовали его юзать - в чём проблема? Понятно что для работы это не надо, но просто интересно

По дате
По рейтингу
Аватар пользователя
Мудрец

Вот выйдет стабильный 19, тогда и будем пробовать. Пока что и так дел хватает