Хук 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;
Подскажите, если пробовали его юзать - в чём проблема? Понятно что для работы это не надо, но просто интересно
* В строчке с use(fetch.. я забыл прочитать результат через .json()/.text(), но на ошибку это не влияет, она такая же