我return在 jsx 之前添加,但它會停止迭代
function App(){
function recursion(object){
for(let key in object){
if(typeof object[key] === 'object'){
<div>{key}</div> // this jsx needs to render
recursion(object[key])
} else {
<div>{key}</div> // and this one
}
}
}
return {
<>
{recursion(someObject)}
</>
}
}
uj5u.com熱心網友回復:
你需要returnJSX;它不能只是躺在函式中。這樣的事情應該可以解決問題:
function App(){
function recursion(object){
const ret = [];
for(let key in object){
if(typeof object[key] === 'object'){
ret.push (
<>
<div>{key}</div>
{recursion(object[key])}
</>
);
} else {
ret.push(<div>{key}</div>);
}
}
return ret;
}
return (
<>
{recursion(someObject)}
</>
);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/472964.html
標籤:javascript 反应 递归 jsx 渲染
