Reactjs 嘲笑功能组件

Reactjs 嘲笑功能组件,reactjs,mocking,jestjs,Reactjs,Mocking,Jestjs,我觉得我错过了什么。我试图模拟一个功能组件,但它总是给我一个错误 如果我这样做 TestRenderer.create( <FunctionalComponent/> ) 如果我将其更改为基于类的组件,它将正常工作 如何模拟功能组件?谢谢 编辑: 我试着模仿这个组件 const SampleComponent = () => { return <View/> } 您必须返回函数组件中的某些内容,即使它为null。功能组件是链接 import Re

我觉得我错过了什么。我试图模拟一个功能组件,但它总是给我一个错误

如果我这样做

TestRenderer.create(
      <FunctionalComponent/>
)
如果我将其更改为基于类的组件,它将正常工作

如何模拟功能组件?谢谢

编辑:

我试着模仿这个组件

const SampleComponent = () => {
  return <View/>
}

您必须返回函数组件中的某些内容,即使它为null。功能组件是链接

import React from 'react';
import TestRenderer from 'react-test-renderer';

function Link(props) {
  return null;
}

const testRenderer = TestRenderer.create(
  <Link/>
);

console.log(testRenderer.toJSON());

export default Link;
从“React”导入React;
从“react test renderer”导入TestRenderer;
功能链接(道具){
返回null;
}
const testRenderer=testRenderer.create(
);
log(testRenderer.toJSON());
导出默认链接;

从“React”导入React;
从“react test renderer”导入TestRenderer;
功能链接(道具){
返回;
}
const testRenderer=testRenderer.create(
);
log(testRenderer.toJSON());
导出默认链接;
参考资料:

  • Facebook,Inc.“测试渲染器”。反应(2019年10月8日查阅)

你能发布你的测试组件吗?@Fricken仓鼠你在哪里找到你添加的附加代码的示例?嗯,我肯定在我的功能组件中返回了一些东西,实际的应用程序正在运行。@Fricken仓鼠添加功能组件代码(或类似代码,如果你不同意其他人看到原始代码)编辑您的问题。我想不出另外一个原因,只能在黑暗中拍摄。感谢您的回复,我添加了我现在测试的组件,这些组件会产生错误。
class SampleClassComponent extends Component {
  render() {
    return <View/>
  }
}
jests.mock('path/to/component')
import React from 'react';
import TestRenderer from 'react-test-renderer';

function Link(props) {
  return null;
}

const testRenderer = TestRenderer.create(
  <Link/>
);

console.log(testRenderer.toJSON());

export default Link;
import React from 'react';
import TestRenderer from 'react-test-renderer';

function Link(props) {
  return <a href={props.page}>{props.children}</a>;
}

const testRenderer = TestRenderer.create(
  <Link/>
);

console.log(testRenderer.toJSON());

export default Link;