Building A User Interface with ReactJS | DiscoverSDK Blog

[Pages:20]SPONSORS

Blog

Share 1.5K

Share 29

Building A User Interface with ReactJS

In the midst of the night, I decided to highlight the features of a powerful Javascript library... React.js... while teaching you to build a user interface within a process.

converted by

Building a user interface using React.JS Let's talk about its features

One-way data flow

Components based

Lightweight Virtual DOM Object Model)

Can run on server through Node

JSX

JSX

Huge SEO support React Native Facebook support

Prerequisite

DOM (Document

converted by

Basic Example

Basic Example

To install React, follow the instructions on GitHub.

If you can see this, React is not working right. If you checked out the source from GitHub make sure to run grunt. Example Details This is written in vanilla JavaScript (without JSX) and transformed in the browser. Learn more about React at facebook.github.io/react. var ExampleApplication = React.createClass({ render: function() {

var elapsed = Math.round(this.props.elapsed / 100); var seconds = elapsed / 10 + (elapsed % 10 ? '' : '.0' ); var message =

'React has been successfully running for ' + seconds + ' seconds.'; return React.DOM.p(null, message); } }); // Call React.createFactory instead of directly call ExampleApplication({...}) in React.render

var ExampleApplicationFactory = React.createFactory(ExampleApplication); var start = new Date().getTime(); setInterval(function() {

ReactDOM.render( ExampleApplicationFactory({elapsed: new Date().getTime() - start}), document.getElementById('container')

); }, 50);

converted by

render()

npm (package manager for Javascript)

.msi

NOT

Some basics of React.js

MVC (Model?view?controller)

webpack

browserify

npm babel

react.js

1) Installing webpack:

react-dom.js webpack

2) Installing react.js and react-dom.js:

converted by

3) Installing babel plugins 4) Creating a folder and files

converted by

var config = {

entry: './main.js', output: {

path:'./', filename: 'index.js', },

devServer: { inline: true, port: 8080

},

module: {

loaders: [ { test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel', query: { presets: ['es2015', 'react'] } }

] } }

module.exports = config;

React App

converted by

import React from 'react';

class App extends ponent { render() { return ( Hello World! ); }

}

export default App;

import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx';

ReactDOM.render(, document.getElementById('app'));

5) Running the server

webpack.config.js index.html

webpack.config.js index.html App.jsx main.js

App.jsx

render()

main.js

render()

Some thoughts on JSX render()

h3

h1 h2

converted by

You need Components... App.jsx

import React from 'react';

class App extends ponent { render() { return ( ); }

}

class Header extends ponent { render() { return ( Header This is the header text ); }

}

class Content extends ponent {

render() { return ( Content This is the content text { 3 + 2} );

} }

render()

reactDOM.render()

main.js

converted by

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download