我有一个看似微不足道的问题,但对于我的生活,我无法理解。
FooContainer.tsx
...
public render() {
...
this.props.onSubmit(123) // FooContainer.tsx:81 Uncaught TypeError: this.props.onSubmit is not a function
}
...
export interface FooDispatchToProps {
onSubmit: (bar: number) => Thunk; // <- from redux-thunk
}
const mapDispatchToProps = {
onSubmit: submitFoo, // a thunk. From SomeDuck.ts
};
export const FooContainerConnected = connect<{}, FooDispatchToProps, {}>(
undefined,
mapDispatchToProps,
)(FooContainer);
SomeDuck.ts
export function submitFoo(bar: number): Thunk {
return (dispatch, getState) => {
dispatch(submitFooAction(bar));
};
}
使用mapDispatchToProps的简写符号传递道具。如果我使用mapDispatchToProps的完整样板格式,则传递道具。
我在这里看不到什么?
答案 0 :(得分:1)
好的,所以我做了一些挖掘,发现存在循环依赖。
Utils ==> FooContainer ==> Ducks ==> Utils
消除这种依赖性消除了鸭子的功能最初未定义的问题
希望遇到类似问题的人对此答案感到宽慰。 :)