【发布时间】:2020-09-06 00:21:19
【问题描述】:
我尝试使用 useEffect 通过 useDispatch 钩子从 API 获取数据:
const dispatch = useDispatch();
useEffect(() => {dispatch(actions.fetchSearch(submitValue))}, [submitValue, dispatch]);
submitValue - 它是搜索查询的输入值。 fetchSearch() 看起来像这样:
export const fetchSearch = (query) => {
return dispatch => {
const queryParams = 'http://190.75.199.65/api/products?count=20&sort_by=numberOfEntries&sort_order=DESC&page=1&search='+query;
axios.get(queryParams)
.then( res=> {
dispatch(fetchSearchSuccess(res.data));
}
)
};
};
我可以通过这段代码获取数据,但是一直出错:
效果函数不能返回除函数之外的任何内容, 用于清理。
看起来你写了 useEffect(async () => ...) 或者返回了一个 承诺。相反,在你的效果中编写异步函数并调用 马上
我尝试在 useEffect 中创建异步函数,但错误相同,或者我做错了什么。
【问题讨论】:
标签: reactjs react-redux use-effect