如果我使用 Redux Toolkit 和 RTK-Query,需要 thunk 吗?

Mic*_*ael 6 redux redux-thunk react-redux redux-toolkit rtk-query

我正在使用Redux Toolkit (RTK) 和 Redux Toolkit Query (RTK-Query)。

在任何情况下仍然使用 是最佳实践、必要还是建议thunks,或者我应该将所有逻辑移至组件中?(handleLogin()如下所示)

const Login = () => {

    const dispatch = useDispatch()
    const [formState, setFormState] = useState({ name: '', password: '' })
    const [login, { isLoading }] = useLoginMutation()
    const { push } = useHistory()

    const handleLogin = async () => {
        try {
            const user = await login(formState).unwrap()
            dispatch(setCredentials(user));
        } catch (e) {
            console.error(e)
        }
    }


    return (
        <div>
            <input type="text" name="name" placeholder="name" />
            <input type="password" name="password" placeholder="password" />
            <button onClick={handleLogin}>Login {isLoading ? '...' : ''}</button>
        </div>
    )
}

export default Login
Run Code Online (Sandbox Code Playgroud)

mar*_*son 15

正如我们在RTK 查询文档中特别提到的

RTK Query 是一个强大的数据获取和缓存工具。它旨在简化在 Web 应用程序中加载数据的常见情况,无需您自己手动编写数据获取和缓存逻辑。

如果您愿意,仍然欢迎您使用其他方法编写额外的逻辑,但 RTKQ 的目标之一是 API 定义可以完全取代手动编写任何 thunk 或其他异步逻辑的需要。