【发布时间】:2019-03-01 13:04:01
【问题描述】:
我正在尝试重构其他人编写的一些代码,并且想知道以下是否可行。我可以创建一个返回非 html 或 jsx 的反应组件吗?并返回一个函数什么的?
到目前为止,该组件基本上包含 4 个函数,然后是一个返回块,该块返回一些被渲染的 jsx
我想将其中两个函数提取到它们自己的组件中,因为它们相似并且可以重复使用
然而,这些函数只是进行 ajax 调用并调用其他函数,而不是返回任何 jsx。他们还需要里面的道具,并且需要传入或连接到redux商店的道具 它调用的一些函数是调度函数,因此必须连接到 redux 存储。所以我不能建立一个独立的功能
这有意义还是我错过了什么。下面的伪代码来演示:
const component = ({...props}) => {
const func1(){
prop1()
try{
} catch(){
callingAnotherProp()
}
}
const func2(){
}
const func3(){
}
const func4(){
}
}
想象func1 和func2 是相同的。正如你所看到的,他们不返回任何 jsx 只是进行进一步的调用。
我不认为我可以隔离成一个 sep 函数。我宁愿不将道具作为 args 传递,而只是将函数连接到 redux 存储并以这种方式使用道具。这可能吗?
【问题讨论】:
-
到目前为止,我了解您需要 HOC 吗?
-
不太清楚您要做什么,但您可以制作一个调用函数并仅返回 null 的组件?
标签: javascript reactjs redux