+
95
-

回答

Preact是React 的轻量级替代方案,体积仅有 3kB,并且拥有与 React 相同的 API。这是preact官方的说法。

我们先看看preact的代码示例:

<!DOCTYPE html>
<html lang="en">
<script type="module">
import { h, Component, render } from '//repo.bfw.wiki/bfwrepo/js/preact.module.js';
import htm from '//repo.bfw.wiki/bfwrepo/js/htm.module.js';

// Initialize htm with Preact
const html = htm.bind(h);

function App (props) {
return html`<h1>Hello ${props.name}!</h1>`;
}

render(html`<${App} name="World" />`, document.body);
</script>
</html>

我们再看看react的示例代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/react.15.4.2.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/react-dom.15.4.2.js"></script>

<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/babel.min.js"></script>
<script type="text/babel">


class HelloMessage extends React.Component {
render() {
return (
<div>
Hello {this.props.name}
</div>
);
}
}

ReactDOM.render(
<HelloMessage name="World" />,
document.getElementById('hello-example')
);


</script>
<style>
</style>
</head>
<body>
<div id="hello-example">

</div>
</body>
</html>

preact要在浏览器中直接运行,需要借助htm,但是react要想在浏览器运行,需要借助babel,并将type设置为text-babel才行。

preact由于其出色的性能与速度比较合适小型项目使用。相信preact的未来会更好。

网友回复

我知道答案,我要回答