我有一个组件,如果满足某些条件则呈现,否则返回null
。
我想知道如何确定组件是否从其父级返回null
。
我已尝试记录该组件,以查看在呈现时或返回null
时哪些属性正在发生变化,但无法检测到任何差异。
有什么建议吗?
答案 0 :(得分:1)
您只能使用后备道具。
代替:
function Child(){
if(something) return null
return <div>content</div>
}
function Parent(){
// try to find out if child is null
return <Child />
}
只需:
function Child({ fallback = null }){
if(something) return fallback
return <div>content</div>
}
function Fallback() {
return 'some fallback'
}
function Parent(){
return <Child fallback={<Fallback />} />
}
答案 1 :(得分:0)
使用变量;
render() {
let settings = (<Settings... />);
if (settings) not null;
else null;
return (
<div>
...
{settings}
...
</div>
)
}
&#13;