在Redux的分派中无法识别的功能

时间:2020-04-09 08:57:08

标签: reactjs redux react-redux

我尝试在udpateDispo()操作的有效载荷中传递数组,但无法识别该函数 我自愿删除了代码以简化阅读, 但基本上我所有的动作(根据我的真实代码)都可以工作,除了这一步, 我不明白为什么语法与其他语法相同,

我尝试了其他可在此处其他地方使用的功能,而不再不知道为什么?

export const UPDATE_DISPO = 'UPDATE_DISPO'
export const updateDispo = (dispo) => {
  console.log("selected")
  console.log("this disp", dispo)
  return {
    type: UPDATE_DISPO,
    dispo,

  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

import React from 'react';
import {connect} from 'react-redux';
import {updateDispo } from '../../../redux/actions/Action'

   dispo = () => {
    
        let start = 1
        let end = 25
        let go = []

        while(start <  end)  {
          start = start + 1 
          time.push({
          start: start,
          end: end,  
          });
        }
        this.state.disponibilitie = time;
        let dispo = time;
        this.props.udapteDispo(dispo)
      }
      
      class test extends React.Component {
      
       render(){
        
        return(
          
            <div>
            <p> this.props.result </p>
            </div>   
        )
      }
  
      }
      
      
   const mapStateToProps =  (state) => {
    return {
      
        result : state.result,
        
    }
  }
        
  const mapDispatchToProps =  (dispatch) => {

    return {
           
        updateDispo: (dispo) => { dispatch(updateDispo(dispo)) },        
}

  }
export default connect(mapStateToProps,mapDispatchToProps)(test)

我的错误是:

typeError:

this.props.udpateDispo 不是功能

1 个答案:

答案 0 :(得分:1)

更新:

在您的mapDispatchToProps中:

const mapDispatchToProps = (dispatch) => ({
  updateDispo: dispo => {dispatch(updateDispo(dispo))}
})

但是您尝试呼叫udapteDispo。注意命名。


您尝试从this.props.udpateDispo组件中调用test。此组件之外的this.props不存在。

并编辑您的mapDispatchToProps函数:

const mapDispatchToProps = dispatch => ({
  updateDispo: dispo => dispatch(updateDispo(dispo))
})