React component


Release date:2024-03-12 Update date:2024-03-16 Editor:admin View counts:146

Label:

React component

In this section we will discuss how to use components to make our application easier to manage.

Next, let’s package an output “Hello World!” Component named HelloMessage :

React instance

functionHelloMessage(props){return<h1>HelloWorld!</h1>;}constelement=
<HelloMessage/>;ReactDOM.render(element,document.getElementById('example'));

Instance resolution:

1.We can use the function to define a component:

function HelloMessage(props) {
    return <h1>Hello World!</h1>;
}

You can also use ES6 class to define a component:

class Welcome extends React.Component {
  render() {
    return <h1>Hello World!</h1>;
  }
}

2、 const element = <HelloMessage /> 为用户自定义的组件。

Note that native HTML element names start with lowercase letters, while custom React class names start with uppercase letters, such as HelloMessage can’t be written as helloMessage . In addition, it is important to note that the component class can only contain a top-level tag, otherwise an error will also be reported.

If we need to pass parameters to the component, we can use the this.props object. An example is as follows:

React instance

functionHelloMessage(props){return<h1>Hello{props.name}!</h1>;}constelement=
<HelloMessagename="Runoob"/>;ReactDOM.render(element,document.getElementById('example'));

In the above example name property through the props.name to get.

Note that when adding attributes, the class attribute needs to be written as className , and the for attribute needs to be written as htmlFor because’ class’ and for are reserved words in JavaScript.

Composite component

We can synthesize a component by creating multiple components, that is, separating the different function points of the component.

In the following example, we implement a component that outputs the name and URL of the website:

React instance

functionName(props){return<h1>Site Name:{props.name}</h1>;}functionUrl(props){return<h1>
Website address:{props.url}</h1>;}functionNickname(props){return<h1>
Website nickname:{props.nickname}</h1>;}functionApp(){return(<div>
<Namename="Rookie Tutorial"/> <Urlurl="http://www.runoob.com"/>
<Nicknamenickname="Runoob"/>
</div>);}ReactDOM.render(<App/>,document.getElementById('example'));

The App component in the instance uses the NameUrl and Nickname component to output the corresponding information.

Powered by TorCMS (https://github.com/bukun/TorCMS).