【发布时间】:2025-12-17 09:25:02
【问题描述】:
在 React 应用程序中,为了循环遍历 嵌套数组,我使用了这样的方法:
recursiveMethod = () => {
// some code...
this.recursiveMethod();
}
但是,我认为它看起来不太好,我想改用 ES6 生成器。
类似:
function* genFunc() {
...
yield;
...
}
但我不确定代码样式应该是什么样子。我需要一个可以在其他方法中使用的函数。例如,最后返回一个数组的函数。我想在 render(){...} 等其他方法中调用该函数并获取结果数组。
更新 1: 我在嵌套数组中有一些其他值,我想将其作为输出。如果我在同一个块中使用两次 yield 可以吗?我的意思是在下面代码的 else{} 块中:
if (condition) {
yield element;
} else {
yield element;
yield* traverseNested(element);
}
更新 2 我的意思是其他值:
[{
key1: value1,
key2: value2,
key3: { iterMe : {
otherKey: otherValue,
otherKey: otherValue,
iterMe : { iterMe : {...} }}
}
},{},{},{}]
【问题讨论】:
-
其他值是什么意思?请添加一个示例。是的,你可以在同一个块中有多个 yield 语句。
标签: reactjs react-native ecmascript-6 generator