使用导航的React本机更新包装器

时间:2019-02-20 16:17:15

标签: reactjs react-native react-navigation enzyme

我有一个使用React Navigation

的组件

在ComponentA将呼叫

oncallback = () => { this.setstate({called: true})};
navigation.navigate('ComponentB', {callBack:this.oncallback})

在ComponentB上,它有时会调用

this.props.navigation.getParam('callback')();

我在测试中尝试了以下内容

const oncallbackMock = jest.fn();
const navigationMock: any = {
  navigate: jest.fn(),
  getParam: jest.fn().mockReturnValue(oncallbackMock),
    };

const wrapper = shallow(<ComponentA navigation={navigationMock} />);
oncallbackMock(); // doesn't seem to call ComponentA's oncallback to set state?

expect(wrapper.state('called')).toEqual(true); // assert failed, it is false

0 个答案:

没有答案