Reactjs 我可以在没有任何参数的情况下传递MapStateTops吗?

Reactjs 我可以在没有任何参数的情况下传递MapStateTops吗?,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我想要一个mapstatetops参数(用于reduxconnectbinding),仅当我要查找的状态部分可用时,否则返回null。但我觉得这是多余的,因为mapstatetoprops的第一个参数本身就是状态 import { connect } from 'react-redux' import store from '~/store' import MyForm from '~/MyForm' const formdata = store.getSate().form.myRedux

我想要一个
mapstatetops
参数(用于redux
connect
binding),仅当我要查找的状态部分可用时,否则返回
null
。但我觉得这是多余的,因为
mapstatetoprops
的第一个参数本身就是状态

import { connect } from 'react-redux'
import store from '~/store'

import MyForm from '~/MyForm'

const formdata = store.getSate().form.myReduxForm.values

const mapStateToProps = formData ? ({ form }) => ({
  formData: form.myReduxForm.values,
}) : null

export default connect(mapStateToProps)(MyForm)
既然我已经有了需要的状态片,我可以这样做吗

mapStateToProps = formData ? () => ({
  formData: formdata 
}) : null

这取决于您在哪里使用
manualFormData

您可以在
MapStateTrops
中执行以下操作:

const mapStateToProps = ({ form }) => {
  if (!manualFormData) { return {} }

  return {
    formData: form.BanksNewManual.values,
  }

}

为什么直接从存储中获取状态而不是使用MapStateTops?您试图解决什么问题?如果没有连接,您可以传递
null
,而不是
MapStateTrops
。Connect不必同时具有两个参数。但正如Ori所说,不太清楚为什么你直接访问该商店,你可能需要在组件文件本身中进行组件的连接。我同意Ori Drori和JayCE444,你应该考虑做MAPSTATESTOPPS或者直接通过道具。不需要同时做这两件事。:)我编辑了这个问题,它错了