对于挑战并帮助我学习Stenciljs,我想将团队所做的一些React组件转换为Stencil组件。
我不知道React和一点Stenciljs,但我知道Angular。我知道Stenciljs是来自不同"框架"的好东西的组合,所以我可能会理解一点。 : - )
有关组件移植的任何建议吗?
可行吗?
有人已经做过那种事了?如果是这样,任何可能有用的示例或步骤都会很好。
由于
答案 0 :(得分:1)
我们将在接下来的几周内做同样的事情,看起来很容易。
我们已经和Typescript一起使用了反应,所以我们已经有了props和state的接口,只需要使用装饰器@Prop()
和@State()
重写。
因为在模板中你也有一个render()
函数,类似于反应类组件,你可以复制你的反应render()
函数的代码(或者如果你有一个功能反应组件,基本上只包括一个render()
函数,只需复制所有内容。
需要注意的一点是,反应中的{children}
比模板中的<slot />
强大得多。因此,如果你有更多具有很多父/子关系的组件,那么翻译就不那么容易了,因为就我所见,你不能做slot.map(item => <SomethingElse prop="stuff" />)
这样的事情。