khangtictoc
Senior Member
Chào mọi người, mình mới học và tiếp cận ReactJS. Cho mình hỏi tại sao với code dưới
Thì nó render ra "Hello!"
Còn khi thay phần body của function Mailbox với
Thì khi falsy expression diễn ra, nó sẽ render thành <div>0</div>
Theo document thì khi false nó sẽ return về 0. Trường hợp thứ 2 trên OK. Còn với trường hợp đầu tiên khi false, mình nghĩ nó sẽ render thành <div><h1>Hello</h1>0</div> chứ nhỉ ; và nó sẽ xuất ra "Hello0", nhưng thực tế lại xuất ra mỗi "Hello".
--Thanks mọi người đã đọc--
JavaScript:
function MailBox(props){
const unreadMessages = props.unreadMessages;
return (
<div>
<h1>Hello!</h1>
{unreadMessages.length > 0 &&
<h2>
You have {unreadMessages.length} unread messages.
</h2>
}
</div>
);
}
ReactDOM.render(
<MailBox unreadMessages={[]} />,
document.getElementById("root")
)
Thì nó render ra "Hello!"
Còn khi thay phần body của function Mailbox với
JavaScript:
function MailBox(){
const count = 0;
return (
<div>
{ count && <h1>Messages: {count}</h1>}
</div>
);
}
ReactDOM.render(
<MailBox />,
document.getElementById("root")
)
Theo document thì khi false nó sẽ return về 0. Trường hợp thứ 2 trên OK. Còn với trường hợp đầu tiên khi false, mình nghĩ nó sẽ render thành <div><h1>Hello</h1>0</div> chứ nhỉ ; và nó sẽ xuất ra "Hello0", nhưng thực tế lại xuất ra mỗi "Hello".
--Thanks mọi người đã đọc--