Javascript 使用Babel插件将JSX属性转换为函数调用

Javascript 使用Babel插件将JSX属性转换为函数调用,javascript,jsx,babeljs,babel-plugin,Javascript,Jsx,Babeljs,Babel Plugin,我希望尝试将JSX属性的输出值从字符串转换为表达式/函数调用 如果源代码看起来像 函数dynamicclass(){ //…做点什么 } 导出默认值()=> 巴别塔翻译代码后所需的输出将是 函数dynamicclass(){ //…做点什么 } 导出默认值()=> 下面是查找属性的代码,但是我很难用表达式/函数调用替换字符串值 const convertClassNameIntoDynamicStyles=({types:t})=>{ 返回{ 参观者:{ JSXOpenElement(路径)

我希望尝试将JSX属性的输出值从字符串转换为表达式/函数调用

如果源代码看起来像

函数dynamicclass(){
//…做点什么
}
导出默认值()=>
巴别塔翻译代码后所需的输出将是

函数dynamicclass(){
//…做点什么
}
导出默认值()=>
下面是查找属性的代码,但是我很难用表达式/函数调用替换字符串值

const convertClassNameIntoDynamicStyles=({types:t})=>{
返回{
参观者:{
JSXOpenElement(路径){
path.get('attributes').forEach(attribute=>{
如果(attribute.node.name.name==='dynamic'){
const classNames=attribute.node.value;
属性。移除();
path.node.attributes.push(t.JSXAttribute(
t、 JSXIdentifier('class'),
`myFunctionCallHere(${classNames})`
));
}
})
},
},
}
}
module.exports=将ClassName转换为DynamicStyles;
第13行的
myFunctionCallHere(${classNames})
是我不知道如何转换成AST风格的表达式,正确的方法是什么


谢谢

嘿,欧文,我面临着一个类似的任务,你知道怎么做吗?嘿,欧文,我面临着一个类似的任务,你知道怎么做吗?