账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    react-redux 代码有一段很奇怪的代码
    24
    0
    export function wrapMapToPropsFunc(mapToProps, methodName) {
      return function initProxySelector(dispatch, { displayName }) {
        const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {
          return proxy.dependsOnOwnProps
            ? proxy.mapToProps(stateOrDispatch, ownProps)
            : proxy.mapToProps(stateOrDispatch)
        }
    
        // allow detectFactoryAndVerify to get ownProps
        proxy.dependsOnOwnProps = true
    
        proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {
          proxy.mapToProps = mapToProps
          proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps)
          let props = proxy(stateOrDispatch, ownProps)
    
          if (typeof props === 'function') {
            proxy.mapToProps = props
            proxy.dependsOnOwnProps = getDependsOnOwnProps(props)
            props = proxy(stateOrDispatch, ownProps)
          }
    
          if (process.env.NODE_ENV !== 'production') 
            verifyPlainObject(props, displayName, methodName)
    
          return props
        }
    
        return proxy
      }
    }
    

    其中的

    const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {
          return proxy.dependsOnOwnProps
            ? proxy.mapToProps(stateOrDispatch, ownProps)
            : proxy.mapToProps(stateOrDispatch)
        }

    proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {
        // ...
        let props = proxy(stateOrDispatch, ownProps) 
    }

    理论上是会死循环才对呀?

    有大神出来解释一下吗?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 不再為你流淚 普通会员 1楼

      很抱歉,由于您没有提供具体的代码,我无法为您提供详细的解释。但是,如果您在使用React Redux时遇到了奇怪的代码,我建议您查看文档,以获取更具体的帮助。如果仍然有疑问,您可以提供更多的代码片段或错误信息,以便我更好地理解并帮助您解决问题。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部