MemoryRouter,无法读取null的属性“状态”

时间:2020-10-30 00:55:21

标签: reactjs jestjs enzyme

我正在使用MemoryRouter,并且由于将其添加到测试中,因此无法访问已安装组件的状态。我正在使用笑话+酶进行测试。 我提到了这篇文章,但仍然出现此错误。

How does one access state on a nested React component wrapped by an HOC?

我的测试代码块,

it('test if search component sets the value state', () => {
        const wrapper  = mount(
            <MemoryRouter>
                <HomePageContent />
            </MemoryRouter>
        );
        const boxInput = wrapper.find('Box#boxInput').children().props();
        act(() => boxInput.children.props.onChange({ detail: { value: 'test' } }));
        expect(wrapper.find(HomePageContent).instance().state('value')).toEqual('test');
    });

我的反应成分

class HomepageContent extends React.Component<RouteComponentProps<{}>, HomePageState> {
     constructor(props: RouteComponentProps<{}>){}
     render{return();}
}

export default withRouter(HomePageContent);

0 个答案:

没有答案