这个问题是我对其他问题Default handler for a functional class in JavaScript的阐述。
我正在尝试构建一个redux动作组件,该组件在启动时会通过一些配置进行初始化,然后在运行时执行以分派某个动作。
import {useDispatch} from 'react-redux';
function ReduxAction(id, config) {
/*some logic*/
}
ReduxAction.prototype.call = function call() {
const dispatch = useDispatch();
dispatch({ type: 'test_action', payload: {} });
console.log('Redux Action dispatched');
}
这是我定义的ReduxAction,位于任何react组件之外。
const doTest = new ReduxAction('test', { payload: 'Test' });
在下面的代码段中,在这种情况下,正在使用某个输入{ email: '', password: '' }
调用该动作。
const LoginScreen = () => {
const onTestPress = () => doTest({ email: '', password: '' });
return <Button onPress={onTestPress}/>
}
预期行为:
行动{ type: 'test', payload: { email: '', password: '' } }
将被调度。
主要关注点:
我之所以这样称呼我的行动,是为了避免导入useDispatch
并在我计划从中分派行动的每个组件中使用const dispatch = useDispatch()
。因此,我想在将useDispatch
与其相应的有效负载一起调用ReduxAction之前,将其提高一级。有什么想法吗?
对于解决该技术的任何反馈都非常受欢迎。预先感谢!