我尝试使用useState
inside设置状态useEffect
没有问题,代码如下:
import React, {useState, useEffect} from 'react';
const Banner = () => {
const [title, setTitle] = useState([]);
useEffect(() => {
async function fetchData() {
const api = 'some api url';
let response = await fetch(api);
response = await response.json();
setTitle(response.title);
}
fetchData();
})
}
export default Banner;
现在我想做同样的事情,但使用 useReducer,我尝试将上面的代码修改为以下但没有运气:
import React, {useState, useEffect} from 'react';
const bannerReducer = (state, action) => {
switch(action.type) {
case 'setTitle':
return {
...state,
title: state.title
}
}
}
const [state, dispatch] = useReducer(bannerReducer, {title: []});
const Banner = () => {
const [title, setTitle] = useState([]);
useEffect(() => {
async function fetchData() {
const api = 'some api url';
let response = await fetch(api);
response = await response.json();
dispatch({type: 'setTitle', response.title});
}
fetchData();
})
}
export default Banner;
在这种情况下如何使用 useReducer?