【全栈React】第3天: 我们的第一个组件
这个系列的前两篇文章是很重要的讨论。在今天的课程中,我们来看看一些代码,并写下我们的第一个React应用。 让我们重温第一天介绍的 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hello world</title> <!-- Script tags including React --> ``<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react.min.js">``</script> ``<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react-dom.min.js">``</script> ``<script src="https://npmcdn.com/babel-core@5.8.38/browser.min.js">`` </script> </head> <body> <div id="app"></div> ``<script type="text/babel">`` var app = <h1>Hello world</h1> var mountComponent = document.querySelector('#app'); ReactDOM.render(app,mountComponent); </script> </body> </html> 加载React库我们在包含了React的来源作为
Babel昨天我们谈了ES5和ES6。我们提到对ES6的支持仍然不稳定。为了使用ES6,最好是将ES6 JavaScript转换为ES5 JavaScript。 Babel是一个将ES6转换到ES5的库。 在 <script type="text/babel">` 这告诉Babel,我们希望它处理这个script主体内的JavaScript的执行。我们可以使用ES6 JavaScript编写我们的React应用,并确保Babel将在仅支持ES5的浏览器中处理它的执行。 React应用在Babel ReactDOM.render(<what>,<where>)` 我们写了一个React应用。我们的“app”是一个代表一个 组件和更多我们在本系列的开头提到,所有React应用的核心是_组件_。理解React组件的最好方法是编写它们。我们将把React组件写成ES6类。 Let's look at a component we'll call class App extends React.Component { render() { return <h1>Hello from our app</h1> } }
在我们的index.html,我们用之前的新 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hello world</title> <!-- Script tags including React --> ``<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react.min.js">``</script> ``<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react-dom.min.js">``</script> ``<script src="https://npmcdn.com/babel-core@5.8.38/browser.min.js">``</script> </head> <body> <div id="app"></div> ``<script type="text/babel">`` class App extends React.Component { render() { return <h1>Hello from our app</h1> } } </script> </body> </html> 然而,什么都不会在屏幕上呈现。你还记得为什么吗? 我们没有告诉React我们要在屏幕上渲染任何东西,或者在什么地方渲染它。我们需要再次使用 添加 var mount = document.querySelector('#app'); ReactDOM.render(<App />,mount); 请注意,我们可以使用 我们的React组件的行为就像我们页面上的任何其他元素一样,我们可以像构建一个本地浏览器树一样构建一个组件树。 虽然我们现在渲染一个React组件,我们的应用仍然缺乏丰富性或交互性。很快,我们将看到如何使React组件数据驱动和动态。但首先,在本系列的下一期中,我们将探讨如何对图层组件进行分层。嵌套组件是丰富的React Web应用的基础。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |