@Danila232

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

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

278366133_bd1354390fd16ed7b5252b396c718fcf_800.png

663d098c36807843341118.png

Подскажите, если пробовали его юзать - в чём проблема? Понятно что для работы это не надо, но просто интересно
* В строчке с use(fetch.. я забыл прочитать результат через .json()/.text(), но на ошибку это не влияет, она такая же
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы