Skip to content

bindActionCreators example is outdated #203

Open
@gocreating

Description

@gocreating

The example of bindActionCreators does not pass generic parameters. Either, optionally pass only one generic parameter: bindActionCreators<ActionCreatorsMapObject<Types.RootAction>>.

Without generic parameters, react component will report not assignable error. The latest redux's bindActionCreators also accepts exact 2 generic parameters. So the example seems outdated.

My current workaround is bindActionCreators<any, any>:

const mapStateToProps = (state: RootState) => ({
  ...
});

const mapDisToProps = (dis: Dis<RootAction>) => bindActionCreators<any, any>({
  ...
}, dis);

type Props = ReturnType<typeof mapStateToProps> & ReturnType<typeof mapDisToProps>

But the Props is then inferred as type any, which is unacceptable for me.
If I change to bindActionCreators<any, ActionCreatorsMapObject<RootAction>>, then my react component starts to report not assignable error again...

const MyComponent: React.FunctionComponent<Props> = ({ ... }) => {
  ...
};

MyComponent.propTypes = {
  ...
};

export default connect(mapStateToProps, mapDisToProps)(MyComponent);

I am really confused about the correct usage of bindActionCreators.
Anyone can help? Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions