+
80
-

preact与react有什么区别?

请问preact与react有什么区别?

网友回复

+
0
-

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的未来会更好。

我知道答案,我要回答