一般写程序的时候,我会将HTML和Javascript分开来写,但react提供了JSX的语法,将html标签和Javascript放在同一个档案,并让你的程序更简洁。
// HTML
const element = <h1>你好,世界!</h1>;
// XML
const element = <hellowWorld/>;
// HTML+Javascript,{greeting(someone)}会取代成greeting function的回传值
const element =(<h1>你好,{greeting(someone)}</h1>) ;
( )虽非必要,但可以避免程序用多行呈现时出错。
React搭配JSX使用的话,可以用声明式而非命令式的方式撰写程序,下面用IG按赞的事件作举例。
// 命令式
if(userLikes()) {
if(!hasRedLike()) {
removeHollowLike();
addRedLike();
}
} else {
if(hasRedLike()) {
removeRedLike();
addHollowLike();
}
}
// 声明式
if(this.state.liked) {
return (<RedLike />);
} else {
return (<HollowLike />);
}
// 未使用JSX未使用JSX
const li=React.createElement('li',{},'第一点');
// 使用JSX
const li = <li>第一点</li>;
3.结合Javascript语法,可以清楚了解每个元件所负责的功能,让你更好管理程序
下面用官网提供的范例作举例。
const e = React.createElement;
class LikeButton extends React.Component {
render() {
if (this.state.liked) {
return 'You liked this.';
}
return e(
'button',
{ onClick: () => this.setState({ liked: true }) },
'Like'
);
}
}
/
<<: RISC-V: 妈,我把脏脏的扣变成 CPU 的形状了!
>>: 【程序】论读书 转生成恶役菜鸟工程师避免 Bad End 的 30 件事 - 7
本篇文章请搭配 [3D地图-CesiumJS系列] 一、快速上手 不知道大家在飞机上时会不会好奇飞机...
关於 Block Editor(区块编辑器)的各类延伸有很多,我们这篇文章尽量保持简单,但您可以从...
主导的第一个计画就是帮厂商开发一个平台并且包含3D模型模拟的功能,然後需要有一个後台给厂商能够上传图...
接续昨天的部分,今天PHP的原理大致上就是 你填入的 帐号 && 密码 是否有(同时...
本篇介绍 ES2021 (ES12) 提供的 String.prototype.replaceAl...