之前在手写react相关源码时,发现了一个bug就是文本节点无法创建,具体情形如我在掘金上的博客–实现react createElement所遇见的问题。具体可看这边博客,如果你遇见的问题和我一样,我只能说你很幸福,因为我被这个问题折磨了很久。
具体bug情形:
1、错误:pragma and pragmafrag cannot be set when runtime is automatic.
2、createElement调用失败,如我上面的博客。
原因:
之所以出现上面的bug情形,都是因为react不会调用我们自己实现的createElement,因而导致了后面写源码时候的各个问题。
解决方法:
/** @jsxRuntime classic */
在你import你所写的react相关代码之前加入该语句。
因为不加的话runtime默认为automatic,jsx不会加载我们自己的代码。
由于自己被这个问题困扰了很久,希望在这里记录一下以帮助更多的人学习,如果我这篇博客对您有所帮助,请一键三连支持一下我,谢谢