gpt4 book ai didi

reactjs - 使用 enzyme 更改 React 功能组件的 Props

转载 作者:行者123 更新时间:2023-12-05 03:53:23 25 4
gpt4 key购买 nike

标题几乎已经说明了这一点,我花了几个小时研究如何使用 Enzyme 更改功能组件上的 props。我试过 wrapper.setProps({ foo: 'bar' }) 但这显然不适用于功能组件。任何帮助将不胜感激。

最佳答案

.setProps() 应该适用于 RFC。见doc

例如

index.jsx:

import React from 'react';

function Foo({ name }) {
return <div className={name} />;
}

export default Foo;

index.test.jsx:

import Foo from './';
import { shallow } from 'enzyme';

describe('61688757', () => {
it('should pass', () => {
const wrapper = shallow(<Foo name="foo" />);
expect(wrapper.find('.foo')).toHaveLength(1);
expect(wrapper.find('.bar')).toHaveLength(0);
wrapper.setProps({ name: 'bar' });
expect(wrapper.find('.foo')).toHaveLength(0);
expect(wrapper.find('.bar')).toHaveLength(1);
});
});

单元测试结果:

 PASS  stackoverflow/61688757/index.test.jsx (11.714s)
61688757
✓ should pass (12ms)

Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 12.992s

包版本:

"react": "^16.13.1",
"react-dom": "^16.13.1",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.2",
"jest": "^25.5.4",
"jest-environment-enzyme": "^7.1.2",
"jest-enzyme": "^7.1.2",

关于reactjs - 使用 enzyme 更改 React 功能组件的 Props,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61688757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com