在按钮点击中显示一个组件(使用钩子)
display a component in button click (using hooks)
我正在尝试在 button
单击中显示 component
,我需要在 syntax
中更改什么?
任何人都知道错误在哪里?
这些功能有效但不是我需要的,
自上一个问题以来我已经取得了进步
很想了解正确又简单的方法
谢谢!
App.js
import React, {useState} from 'react';
import './App.css';
import Addroom from './components/Addroom.js'
import HomePage from './components/HomePage.js'
function App() {
const [flag, setFlag] = useState(false);
return (
<div className="App">
<h1>My Smart House</h1>
<button className="button1" onClick={()=>setFlag(!flag)}>Change Flag</button>
{flag.toString()}
<Addroom a={(!flag)}/>
<HomePage h={(flag)}/>
</div>
)
}
export default App;
HomePage.js
import React from 'react'
export default function HomePage(props) {
return (
<div>
<h2> HomePage {props.h}</h2>
</div>
)
}
Addroom.js
import React from 'react';
export default function Addroom(props) {
return (
<div>
<h2> Addroom {props.a}</h2>
</div>
)
}
带条件运算符condition ? exprIfTrue : exprIfFalse
{flag ? <Addroom /> : <HomePage /> }
如果您不需要使用 flag
内部组件,请跳过作为 props 传递
看看这个样本
sample
我正在尝试在 button
单击中显示 component
,我需要在 syntax
中更改什么?
任何人都知道错误在哪里?
这些功能有效但不是我需要的,
自上一个问题以来我已经取得了进步
很想了解正确又简单的方法
谢谢!
App.js
import React, {useState} from 'react';
import './App.css';
import Addroom from './components/Addroom.js'
import HomePage from './components/HomePage.js'
function App() {
const [flag, setFlag] = useState(false);
return (
<div className="App">
<h1>My Smart House</h1>
<button className="button1" onClick={()=>setFlag(!flag)}>Change Flag</button>
{flag.toString()}
<Addroom a={(!flag)}/>
<HomePage h={(flag)}/>
</div>
)
}
export default App;
HomePage.js
import React from 'react'
export default function HomePage(props) {
return (
<div>
<h2> HomePage {props.h}</h2>
</div>
)
}
Addroom.js
import React from 'react';
export default function Addroom(props) {
return (
<div>
<h2> Addroom {props.a}</h2>
</div>
)
}
带条件运算符condition ? exprIfTrue : exprIfFalse
{flag ? <Addroom /> : <HomePage /> }
如果您不需要使用 flag
内部组件,请跳过作为 props 传递
看看这个样本 sample