请帮助。如果list.display = true,我有一个要加载的组件。我可以做一个控制台日志,以确认何时应该显示该列表并且它可以正常工作。但是,该组件不会加载。如果我将组件从.map循环中删除,它会完美运行。
谢谢
return (
<div className="container">
<h1>To Do App</h1>
<p>Create a list:</p>
<form>
<label htmlFor="list">
<input type="text" name="list" id="list" onChange={e => setInputListName(e.target.value)}/>
<button onClick={addList}>Create List</button>
</label>
</form>
<div className="listsContainer">
{
lists.map( (list: listInterface, index:number) =>
(<button onClick={() => loadList(index)}>{list.listName}</button>)
)
}
{
lists.map( (list: listInterface, index:number) => {
if (list.display == true) {
<ToDoApp list={lists[0]} />
console.log("List " + list.listName + " ordered");
}
})
}
</div>
</div>
);
一个映射函数需要返回一个值。
lists.map( (list: listInterface, index:number) => {
if (list.display) {
console.log("List " + list.listName + " ordered");
return <ToDoApp list={lists[0]} />
}
})
{
lists.map((list: listInterface, index: number) => {
if (list.display === true) {
return <ToDoApp list={lists[0]} />
}
})
}
在if条件中添加返回以呈现JSX