joppot

コピペで絶対動く。説明を妥協しない

プログラミング

React Project development environment building command create-react-app is too convenient

投稿日:



Abstract

Hello everyone It’s me candle.
In this time we will build a “react” development environment with create-react-app command and try to hello world.
Past react development was created by installing babel and other packages from npm on your own using gulp or webpack.
Past react development installed babel and other packages from npm and built servers with gulp and webpack.
If you use the create-react-app command, you can create react environment easily.
Let’s do it.


Precondition

Node is already installed


Installing the create-react-app command

You can install the create-react-app command from npm.
We will use this command in the computer as a whole, so we install it with -g flag.

npm install -g create-react-app

Create react project

We start to create react project with create-react-app.
This is the general making method.

create-react-app projet_name_here

Let’s create helloworld project in this time.
It is ok the location of the directory anywhere. I make it on the desktop for ease of explanation.

create-react-app helloworld

After installing you move to the project.

cd helloworld
ls


Launching the server

When you move to the project, start the server with npm start.

npm start

A message like this appears

It will be successful if the browser opens and the following page appears.

Writing hello world program

Let’s do it as a first practice.

  1. Create a src/components/Input.js componet
  2. Edit src/App.js

Create src/components/Input.js component

At first let’s create the Input.js component.
We do not have the components folder yet in the src folder.
We make the components folder and Input.js

mkdir src/components
touch src/components/Input.js

Open the src/components/Input.js and write it.

import React from 'react';

const Input = (props) => <input name={props.name} type={props.type} onChange={props.onChange} />

Input.propTypes = {
  onChange: React.PropTypes.func,
  name: React.PropTypes.string,
  type: React.PropTypes.string
}

Input.defaultProps ={
  name: '',
  type: 'text'
}

module.exports = Input;

Save it.

Rewrite src/App.js

The main program of react is src/App.js. Open it with your favorite editor.

emacs src/App.js

Rewrite like this code.

import React from 'react';
import Input from './components/Input'

class App extends React.Component{
  constructor(){
    super();
    this.state = {
      txt: 'hello world'
    }
  }

  update(e){
    this.setState({
      txt: e.target.value
    })
  }

  render(){
    return(
      <div>
        <p>Text: {this.state.txt}</p>
        <Input onChange={this.update.bind(this)} />
      </div>
    )
  }
}

export default App;

Save it.

Check it in the browser

Access http://localhost:3000 in the browser.
You write character in the text field, the text of “hello world” will be overwritten.


Conclusion

Until now React programmers were building the environment in various ways, but it seems that this is the one of best practice.

スポンサードリンク

If you think this article is good, share it please

-プログラミング
-

執筆者:


comment

Your email address will not be published. Required fields are marked *

関連記事

Tutorial to create a modal using react-modal

Abstract Hello everyone it’s me candle. In this time, let’s create a modal with react-modal. React-modal is a library which can create and handle a modal easily. But However, react-modal is not easy if you try to actually use it. it is necessary to incorporate state management, action, design etc. In this article, I will explain it like a tutorial and we will make a modal together. Condition You have a react knowledge. You installed create-react-app. Set up development env If you already have a some react project, you would use it. Otherwise, you don’t have a any project, please …

I created docker shortcut command with bash alias

Abstract Hello everyone it’s me candle. I will introduce easy operation of the docker command. Of course, I just created it thinking that it was useful, so please change it for much more useful. Precondition You use bash. ( Even though you use zsh or csh or something else, you edit a bit, it will work well) You use docker

Use react-simple-format in React web

Abstract Hello everyone it’s me candle. In this article we will use simple-format in react. Simple format is famous for Ruby on Rails and is commonly used. React has a legacy react-simple-format and 16g’s made. The legacy lib is not useful, so I choose 16g’s made. https://github.com/16g/react-simple-format Condition Nothing Create project If you already have a React project please use it. If not, use the following command to create it. create-react-app simple_format_sample cd simple_format_sample How to use react-simple-format First install it. yarn add @16g/react-simple-format Open a appropriate component file. I write it in src/App.js. import React, { Component } from …

Ruby regex that does not match if there are keywords that you don’t want included in the string

Abstract Hello everyone it’s me candle. In this time I would like to create a regular expression that does not pass if keywords that I do not want included in the string match. This is such case like this. For example, the regex matches these words “Bitcoin” and “Bitcoin ~” but doesn’t match “BitcoinCash” and “Bitcoin Cash”. ○ Bitcoin ○ Bitcoin Core × BitcoinCash × Bitcoin Cash Condition Nothing Write the regex This is a regex that does not match if there are keywords that you do not want included in the string. /Keyword to include(?!Keywords you do not want …

Tutorial How to use GSAP animation with React

Abstract Hello everyone it’s me candle. In this time we will use GSAP in React. The famous js library which can easily use animation is jQuery. However, it seems that compatibility between jQuery and React is bad. And there are no functions Also, as far as I know, React has no animation function that is easy to use(Yeah, Transition is). But, all times and places, it is rare case that animation is not necessary when you have created a web service. There are many candidates when using animation with React. Of course, you can import only the necessary functions and use …


I work in the venture company as a CTO. I start to write program in University, first I learned java, C++ and PHP. In the company, I'm developing web services by Rails. I do like to automation.