reactjs 当我想用jscodeshift库编辑一个react化合物组份时,我该如何删除点?

7d7tgy0s  于 2023-02-22  发布在  React
关注(0)|答案(1)|浏览(107)

我有一个小项目,我想通过从<ThemeContext.Provider /><ThemeProvider />。但当我尝试,我得到了<ThemeProvider. />(与**额外的点!!! *)
下面是一个例子:www.example.comhttps://astexplorer.net/#/gist/e06688772514aefc6e776a6a0031dbf5/eb8bf6546886b2ea2f2bf5bf425ebe024f49d217

9avjhtql

9avjhtql1#

你可以试着找到所有的JSXMemberExpression,这些JSXMemberExpression有效地对应于在开始或结束元素JSXBoundaryElement名称中有Foo.Bar。过滤那些访问ThemeContext的。然后用identifier替换它们。

source
    .find(j.JSXMemberExpression)
    .filter((path) => path.value.object.name === "ThemeContext")
    .forEach((path) => {
      j(path).replaceWith(j.identifier("ThemeProvider"));
    });

相关问题