我尝试在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 不是功能
答案 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))
})