小编Art*_*r Z的帖子

如何测试从 mapDispatchToProps (React/Redux/Enzyme/Jest) 传递过来的函数

我想测试在模拟按钮单击时调用了从 mapDispatchToProps 传递的函数。

如何测试从 mapDispatchToProps 传递的函数被调用?

我试图通过道具传递一个模拟函数,但它不起作用。任何帮助将不胜感激。

下面是我的假类代码和测试示例。

我的组件

// All required imports

class App extends React.Component<Props> {
  render() {
    const { onClick } = this.props;
    return (
      <>
        <h1>Form</h1>
        <input />
        <button onClick={() => onClick()} />
      </>
    );
  }
}

const mapStateToProps = (state) => {
  return {
    state
  };
};

const mapDispatchToProps = (dispatch) => {
  return {
    onClick: () => dispatch(actions.onClick())
  };
};

export default connect(mapStateToProps, mapDispatchToProps)(App);
Run Code Online (Sandbox Code Playgroud)

我的测试文件

import { configure, mount } from 'enzyme';
import Adapter …
Run Code Online (Sandbox Code Playgroud)

reactjs jestjs redux enzyme

8
推荐指数
1
解决办法
6286
查看次数

流程:缺少`OP`的类型注释

我有一个使用 Flow 类型连接到 Redux 存储的组件。我用:

"flow-bin": "^0.89.0",
"flow-typed": "^2.5.1",
"react-redux": "^5.0.7",
Run Code Online (Sandbox Code Playgroud)

我为 mapStateToProps 和 mapDispatchToProps 函数设置了类型

我的 index.js

// @flow
import * as React from 'react';
import { connect } from 'react-redux';
import type { Dispatch } from 'redux';
import type { DispatchProps, StateProps, NotificationItem, NotificationsProps, State, OwnProps } from './index.types';
import { createNotificationAction, createRemoveNotificationAction } from './redux';
import View from './View';

function Notifications(props: NotificationsProps) {
  return <View {...props} />;
}

const mapStateToProps = ({ notifications }: State): StateProps => …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs flowtype redux

5
推荐指数
0
解决办法
1067
查看次数

标签 统计

reactjs ×2

redux ×2

enzyme ×1

flowtype ×1

javascript ×1

jestjs ×1