JSX
传递多参数
利用解构、剩余参数和展开运算符
function Greeting({ name, ...platformProps }) {
return <div {...platformProps}>Hi {name}!</div>;
}
合并参数
利用默认参数、展开运算符,
在操作className时非常常见
function MyButton({ className = "", ...props }) {
let classNames = ["btn", className].join(" ");
return <button className={classNames} {...props} />;
}
条件判断
if:
{
condition && <span>Rendered when `truthy`</span>;
}
unless:
{
condition || <span>Rendered when `falsy`</span>;
}
if-else
{
condition ? (
<span>Rendered when `truthy`</span>
) : (
<span>Rendered when `falsy`</span>
);
}
children内容
可以为字符串,也可以是数组:
<div>Hello World!</div>
<div>{["Hello ", <span>World</span>, "!"]}</div>
list
使用map
<ul>
{["first", "second"].map(item => (
<li>{item}</li>
))}
</ul>
//等同于
<ul>{[<li>first</li>, <li>second</li>]}</ul>
样式内联style
class MyHeader extends React.Component {
render() {
return (
<div>
<h1 style={{color: "red"}}>Hello Style!</h1>
<p>Add a little style!</p>
</div>
);
}
}