【问题标题】:TestUtils get React element rendered in the "root"TestUtils 获取在“根”中呈现的 React 元素
【发布时间】:2015-06-21 22:44:10
【问题描述】:

我有一个直接在“根”(document.body)上呈现的 React 组件,我想使用 TestUtils 获取这个元素,但我不想保留对这个元素的引用。有什么办法吗?

基本上我想要这样的东西:

React.addons.TestUtils.findRenderedComponentWithType(document.body, MyReactClass);

但这不起作用(传递nullundefined 作为第一个参数也不起作用)。我想知道是否有任何“根”React 组件树可以参考。

【问题讨论】:

    标签: javascript reactjs


    【解决方案1】:

    如果是为了单元测试目的,你不需要这样做,如果你正在测试组件MyReactClass,只需这样做:

    const props = {//some mocked props}
    const element = TestUtils.renderIntoDocument(<MyReactClass {...props}/>);
    

    element 将包含该元素。

    希望我正确理解了您的问题...

    【讨论】:

    • 嘿,感谢您的回复,我遇到的问题是我使用 Meteor 并使用 Blaze 模板引擎实例化 React 组件(我实际上并没有创建组件,Meteor 为我做的)因此问题要求访问根组件的方法。我最终重构了我的代码,因此我手动实例化了我的组件,这在将 Blaze 元素与 React 组件混合时有点不方便。
    猜你喜欢
    • 2018-01-29
    • 2022-08-10
    • 2017-05-10
    • 2020-10-13
    • 2020-10-12
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    相关资源
    最近更新 更多