2015-06-21 5 views
3

У меня есть компонент React, который отображается непосредственно на «root» (document.body), я хочу получить этот элемент с помощью TestUtils, но я не хочу, чтобы сохранить ссылку к этому элементу. Есть ли способ сделать это?TestUtils получает элемент React, полученный в «root»

В основном я хочу что-то вроде этого:

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

Но это не работает (проходящее null или undefined как первый параметр не работает, либо). Мне остается задаться вопросом, есть ли какое-либо «корень» React Component Tree, на которое я могу получить ссылку.

ответ

1

Если для испытания блока цели, вам не нужно делать, если вы тестируете компонент MyReactClass, просто сделать:

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

элемент будет содержит элемент.

Надеется, что я правильно понял ваш вопрос ...

+0

Эй спасибо за ответ, проблема у меня был в том, что я использую Метеор и инстанцирование Реагировать компоненты, используя механизм шаблонов Blaze (I Don 'T на самом деле создать компоненты, Meteor делает это для меня), следовательно, возникает вопрос о способе доступа к корневому компоненту. Я закончил рефакторинг моего кода, поэтому я вручную создал компоненты, которые немного неудобны при смешивании элементов Blaze с компонентами React. – Hoffmann

Смежные вопросы