使功能实体同时返回对象和功能的最佳实践

时间:2020-09-28 15:16:03

标签: javascript react-native react-redux react-hooks

这个问题是我对其他问题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之前,将其提高一级。有什么想法吗?

对于解决该技术的任何反馈都非常受欢迎。预先感谢!

0 个答案:

没有答案