javascript - 如何在基于 React 函数的组件中动态显示人物
问题描述
我正在使用函数组件而不是基于类的组件。所以我想在单击按钮时动态显示人员数据
const App = props =>{
const [showPersons, setShowPersons] = useState({
showPersons : false,
})
const togglePersonsHandler = () => {
let temp = showPersons.showPersons;
setShowPersons({showPersons : !temp});
}
没有render()
方法。所以基于功能的组件没有呈现if
条件。
let persons = null;
if(showPersons.showPersons){
persons = (
<div>
<Person name={personsState.persons[0].name} location={personsState.persons[0].location} />
<Person name={personsState.persons[1].name} location={personsState.persons[1].location}
click={() => swichNameHandler('Nagi')} changed={nameChangeHandler}>his job is internet business
</Person>
<Person name={personsState.persons[2].name} location={personsState.persons[2].location}/>
</div>
)
}
return(
<div className="App">
<h1>Hello there, this is nagasai </h1>
<button style={inlineStyles}
onClick={togglePersonsHandler}>Toggle Persons
</button>
{person}
</div>
)
}
export default App;
任何人都可以帮助我。
解决方案
仅使用条件
<div>
{showPersons.showPersons &&
<div>
<Person ... />
<Person ... />
</div>
}
</div>
推荐阅读
- shopify - 如何在 Shopify 产品页面中显示产品变体元字段的输出?
- rethinkdb - 只有 2 个节点的 Rethinkdb 故障转移集群
- excel - 另一个工作表中的公式如何自动检测 Excel 中的新行?
- sql - SQL 中的变量 -> 错误 PLS-00103:遇到符号“SELECT”
- c# - 我怎样才能在 c#( 压缩代码) 中正确地做到这一点
- java - 如何在谷歌登录中更改电子邮件
- php - 已达到“512”的最大函数嵌套级别,正在中止
- opencv - 在 OpenCV.js 中旋转时图像自动裁剪
- c - 两种不同类型的结构 - 需要动态地将一种传递给函数
- javascript - [Vue 警告]:找不到注入“select”(element-ui)