функция не распознается при отправке - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь передать свой массив в полезную нагрузку моего действия 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 Ответ

1 голос
/ 09 апреля 2020

Обновление:

В вашем 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))
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...