从INNER函数导出和返回变量的方法



我有一个jsx文件,我们称之为a,其内容如下:

export default function Outer() {
function inner() {
*some logic here*
return variable
}

function inner2() {
*some logic here*
}

function inner3() {
*some logic here*
}
return (
*various items here*
)
}

我需要将函数inner((导出到另一个文件,让我们称之为B,因为文件B需要能够读取从函数inner(返回的变量

但是,我无法编写导出函数inner((,因为导出只能在顶级调用。

也不可能将函数inner((移动到顶层,因为它也依赖于函数inner2((和函数inner3((的逻辑。

寻求关于我可能如何处理这个问题的建议。我做了一些阅读,看到了useSWR挂钩、react上下文API和redux等内容。我目前还不知道。

对于像我这样的初学者来说,有人能推荐哪种解决方案最适合我的情况,以及哪种方案最容易实现吗?

此外,除了我遇到的这3件事之外,还有其他解决方案同样有效,但我错过了吗?

const newOuter = (()=>{
function inner(){
return "inner" + inner2() + inner3();
}
function inner2(){
return " inner2"
}
function inner3(){
return " inner3"
}
function original(params){
/*various items here*/

return params;
}
return {
inner,
original
}
})()
export default newOuter;
//B.js
import newOuter from './newOuter.js'
const innerReturnValue = newOuter.inner()

因此,通过这种方式,您可以调用newOuter.original()并获得outer函数的原始返回值,如果您只需要inner函数,则可以调用newOuter.inner()

最新更新