如何向react-test-renderer传入普通JS编写的React组件并解决语法报错
报错原因及解决方法
- 核心问题是JavaScript语法错误,和
react-test-renderer是否支持React.createElement入参无关:你在函数参数列表内错误添加了分号。React.createElement('div', null, 'Text');末尾的分号是语句结束标记,放在ReactTestRenderer.create()的参数列表中会打断语法解析,就会触发「missing ) after argument list」报错。 - 修正后的代码如下:
const testRenderer = ReactTestRenderer.create( React.createElement('div', null, 'Text') );
- 补充说明:
react-test-renderer完全支持直接传入React.createElement生成的React元素,不需要额外适配。因为JSX本质就是编译为React.createElement调用的语法糖,两种写法生成的元素结构完全一致,你用普通JS写法编写的组件生成的所有元素都可以直接传入使用。
内容的提问来源于stack exchange,提问作者stckvrw
相关产品推荐
相关产品推荐

