#reactjs #typescript
#reactjs #машинописный текст
Вопрос:
Я новичок useSWR
, и мне нужно получить список элементов, вызывающих некоторую конечную точку, которая возвращает ответ с разбиением на страницы
const listItems = (id: String) => {
const [nextToken, setNextToken] = useState(undefined);
const [items, setItems] = useState([]);
const input = useMemo(() => {
return { id, nextToken }
,[nextToken]);
const data = useSWR('listItems', promisify(listItems(input)));
useEffect(() => {
if (!data) return;
setItems(items.concat(data.items));
setNextToken(data.nextToken);
}, [data]);
return {
items
};
}
В тестовом файле я издеваюсь listItems
следующим образом
mockListItems
.mockImplementationOnce(() => {
promise: () => Promise.resolve(item1)
})
.mockImplementationOnce(() => {
promise: () => Promise.resolve(item2)
})
Однако тест завершается неудачей, поскольку он возвращает только item1. Что здесь пошло не так?