首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >酶,如何访问传递给props的组件

酶,如何访问传递给props的组件
EN

Stack Overflow用户
提问于 2018-05-24 17:27:10
回答 2查看 4.3K关注 0票数 8

我尝试在MyComponent中测试的是Switch组件的checked属性的值,它是FormControlLabel组件的一个属性:

class MyComponent extends Component {

 (...)

 render() {
  return (
   <FormControlLabel
    name={`formControl`}
    control={
      <Switch
        name={`switch`}
        data
        checked={this.state.isChecked}
        onClick={this.handleChange}
        value={checked}
        />
    }
    />
  );
 }
}

我可以像这样访问FormControlLabel组件:

const wrapper = shallow(<MyComponent />);

wrapper.find('[name="formControl"]');

我试图像这样访问Switch组件,但它不起作用:

wrapper.find('[name="switch"]');

如何访问Switch组件的checked props?

API接口

  • shallow

版本

  • 酶: 3.3.0
  • React: 16.2.0

适配器

  • enzyme-adapter-react-16
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-24 18:19:30

好吧,我找到了一个解决方案:

expect(wrapper.find('[name="formControl"]').prop('control').props.checked).toEqual(true);
票数 8
EN

Stack Overflow用户

发布于 2019-06-27 07:54:38

const controlComponent = shallow(wrapper.find(FormControlLabel).props().control);
expect(controlComponent.props().checked).toBeTruthy();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50505694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档