期望赋值或函数调用,而是在三元上看到表达式



当前正在获取 期望赋值或函数调用,而是看到一个表达式 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不会渲染任何东西,因为它是一个用于执行副作用的钩子。

最新更新