制作包含分派的导出功能

make export function that contains dispatch

我想制作可以导出并在项目中使用的功能。 问题是我需要使用调度。

import React from 'react'
import { useDispatch } from "react-redux";
import { displayMessage } from '../App/store/mixed'

const dispatch = useDispatch()

export const test = () => {


    dispatch(displayMessage({ show: true, text: `test` }));
    setTimeout(() => {
        dispatch(displayMessage({ show: false, text: '' }))
    }, 2000);
}

上面的代码会让你知道我想要完成什么。

这样的事情可行吗?

你可以大声疾呼:

export const test = () => => (dispatch, getState) => {
    dispatch(displayMessage({ show: true, text: `test` }));
    setTimeout(() => {
        dispatch(displayMessage({ show: false, text: '' }))
    }, 2000);
}

在其他地方会像 dispatch(test()) 一样被调用。

或者您也可以从您的设置文件 import 您的 store 并执行 store.dispatch(...) - 但这样不太干净。