当前正在获取 期望赋值或函数调用,而是看到一个表达式 no-un-used-expression
我尝试在三元运算符的末尾返回一个空的div,但仍然收到相同的错误。
React.useEffect(() => {
if (response && !isLoading) {
showNotification({
variant: "success",
message: `Your invitation ${
name.props ? name.props.children : name
}-${data} was successfully sent.`
});
closeAlert();
viewName === "GetAllData"
? dispatch({
type: "FETCH_DATA",
payload: { loading: true }
})
: dispatch({
type: "FETCH_AVAILABLE_STAFF",
payload: { loading: true }
});
}
return <div />;
}, [response, isLoading]);
它抱怨你如何使用三元而不是使用 if/else 语句来完成工作。代码期待
if (viewName === "GetAllData") {
dispatch({
type: "FETCH_DATA",
payload: { loading: true }
})
} else {
dispatch({
type: "FETCH_AVAILABLE_STAFF",
payload: { loading: true }
});
}
如果你想使用三元,你需要对对象进行,因为唯一不同的是类型,在类型上使用它。
dispatch({
type: viewName === "GetAllData" ? "FETCH_DATA" : "FETCH_AVAILABLE_STAFF",
payload: { loading: true }
})
问题不在于返回div
(为什么还要返回div
?(,而在于,
viewName === 'GetAllData'
? dispatch({
type: 'FETCH_DATA',
payload: { loading: true },
})
: dispatch({
type: 'FETCH_AVAILABLE_STAFF',
payload: { loading: true },
});
上面的三元运算是一个expression
。将其更改为if
块。
在此用例中,您无需从useEffect
返回任何内容。此外,useEffect
不会渲染任何东西,因为它是一个用于执行副作用的钩子。