React.isValidElement 假阴性

React.isValidElement false negative

react.js Top-Level API 发生了一些奇怪的事情。

这是我的 mocha 测试的摘录:

it.only('should identify a ReactElement', function () {
  var component = ReactTestUtils.renderIntoDocument(
    <SomeComponent value={data.value} label={data.label} />
  );

  console.log(React.isValidElement(component));
  expect(React.isValidElement(component), 'to be truthy');
  expect(true, 'to be truthy');
});

问题是,isValidElement returns false...这没有多大意义,因为我刚刚创建了该死的元素。

有线索吗?

ReactTestUtils.renderIntoDocument(element) 接受一个 ReactElement 和 return 一个 ReactComponent.

如果 elementReactElement.

React.isValidElement(element) 只会 return 为真

在您的情况下,<SomeComponent value={data.value} label={data.label} />ReactElementcomponentReactComponent

Here's a guide 关于您可能会觉得有用的 React 术语。