国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home Web Front-end JS Tutorial What are the uses of React component refs? Detailed explanation of the role of react component refs and its use

What are the uses of React component refs? Detailed explanation of the role of react component refs and its use

Sep 11, 2018 pm 03:34 PM
react refs

This article mainly explains the detailed explanation of react component refs. Now let’s take a look at the content of the text

ref As the name suggests, we know that in fact it can be The stand is a reference for a component, which can also be said to be a logo. As a component attribute, its attribute value can be a string or a function.

Actually, the use of ref is not necessary. Even in the scenarios where it is applicable, it is not necessary, because the functions implemented using ref can also be converted into other methods. However, since ref has its applicable scenarios, it means that ref has its own advantages. Regarding this and the applicable scenarios of ref, the official documentation says this:

After returning the UI structure from the render method, you may want to break out of the limitations of the React virtual DOM and use the component instance returned by render Call certain methods on. Generally speaking, this is not necessary for data flow in the application, because the reactive data flow always ensures that the latest props are passed to each child output from render(). However, there are still several scenarios where using this approach is necessary or beneficial: finding the DOM markup of the rendered component (which can be thought of as the DOM identification ID), using React components in a large non-React application Or convert your existing code into React.

Let’s take a look at such a scenario (the following example is often used to explain ref, so it can be seen that the scenario described below should be more classic): using an event to make the element 's value is set to the empty string, and the element is given focus.

var App = React.createClass({
getInitialState: function() {
return {userInput: ''};
},
handleChange: function(e) {
this.setState({userInput: e.target.value});
},
clearAndFocusInput: function() {
this.setState({userInput: ''}); // Set value Is the empty string
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????value={this.state.userInput}
onChange={this.handleChange}
/>
onClick ={this.clearAndFocusInput}
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?Clicking the button notifies the input element to set the value to the empty string, but it has not yet been implemented to allow the input element to gain focus. This is a bit difficult to implement because what is returned in render() is not the actual combination of subcomponents, just a description of a specific instance at a specific time. This sentence feels quite confusing. In fact, what render returns is

virtual DOM

, not the real DOM. So we don't need to focus only on those components returned from render().

Speaking of which, it doesn’t help us much in how to achieve focus. To achieve the function of getting focus, we need to use ref. We mentioned above that there are two types of ref values, one is a string and the other is a callback function.


ref string attribute

React supports a special attribute that you can add to any component returned by render(). This means that the component returned by render() is marked so that the component instance can be easily located. This is what ref is for.

The form of ref is as follows

To access this instance, you can access it through this.refs:

this.refs.myInput

In previous versions, we could access the DOM of the component through React.findDOMNode(this.refs.myInput). But now, the findDOMNode function has been abandoned and can be accessed directly using this.refs.myInput. (If you want to learn more, go to the PHP Chinese website React Reference Manual column to learn)

ref callback function

The ref attribute can also be a callback function instead of a name. This function will be executed immediately after the component is mounted. The referenced component will be used as a parameter to the function, which can use the component parameter immediately or save it for later use.

The form is also relatively simple:

render: function() {
return this._input = c} } /> ;
},
componentDidMount: function() {
this._input.focus();
},

or

render: function() {
return (
ref={function(input) {
if (input != null) {
input.focus();
}
}} />
);
},

It should be noted here that when this reference component is uninstalled and this ref changes, the parameter value of the previous ref will be null. This will effectively prevent memory leaks. Therefore, there will be an if judgment in the above code:

if(input != null){
? ? ? ? input.focus();
}

The above describes the usage scenarios of ref and methods, below we will complete the above example to achieve the function of getting focus

var App = React.createClass({
??? getInitialState: function() {
??????? return {userInput: ''};
??? },
??? handleChange: function(e) {
??????? this.setState({userInput: e.target.value});
??? },
??? clearAndFocusInput: function() {
??????? this.setState({userInput: ''}); // Clear the input
??????? // We wish to focus the now!
??????? if (this.refs.myTextInput !== null) {
??????????? this.refs.myTextInput.focus();
??????? }
??? },
??? render: function() {
??????? return (
???????????


? ????????????????????????????????? value={this.state.userInput}
??????????????????? onChange={this.handleChange}
??????????????????? ref=”myTextInput”??????
???????????????????????????????????????? />
??????????????? ??????????????????? type="button"
?? ?????????????????value="Reset And Focus"
??????????????????? onClick={this.clearAndFocusInput}
??????????????????? />
???????????


??????? );
??? }
});
ReactDOM.render(
??? ,
??? document.getElementById('content')
);

在這個(gè)例子中, render 函數(shù)返回一個(gè) 實(shí)例的描述。但是真正的實(shí)例通過 this.refs. myTextInput獲取。只要 render 返回的某個(gè)子組件帶有 ref="myTextInput" ,this.refs. myTextInput就會(huì)獲取到正確的實(shí)例。

上面就是ref的所有內(nèi)容,更多關(guān)于ref的介紹可以參考Ref to Components。

本篇文章到這就結(jié)束了(想看更多就到PHP中文網(wǎng)React使用手冊欄目中學(xué)習(xí)),有問題的可以在下方留言提問。

The above is the detailed content of What are the uses of React component refs? Detailed explanation of the role of react component refs and its use. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

React Router User Guide: How to implement front-end routing control React Router User Guide: How to implement front-end routing control Sep 29, 2023 pm 05:45 PM

ReactRouter User Guide: How to Implement Front-End Routing Control With the popularity of single-page applications, front-end routing has become an important part that cannot be ignored. As the most popular routing library in the React ecosystem, ReactRouter provides rich functions and easy-to-use APIs, making the implementation of front-end routing very simple and flexible. This article will introduce how to use ReactRouter and provide some specific code examples. To install ReactRouter first, we need

PHP, Vue and React: How to choose the most suitable front-end framework? PHP, Vue and React: How to choose the most suitable front-end framework? Mar 15, 2024 pm 05:48 PM

PHP, Vue and React: How to choose the most suitable front-end framework? With the continuous development of Internet technology, front-end frameworks play a vital role in Web development. PHP, Vue and React are three representative front-end frameworks, each with its own unique characteristics and advantages. When choosing which front-end framework to use, developers need to make an informed decision based on project needs, team skills, and personal preferences. This article will compare the characteristics and uses of the three front-end frameworks PHP, Vue and React.

Integration of Java framework and front-end React framework Integration of Java framework and front-end React framework Jun 01, 2024 pm 03:16 PM

Integration of Java framework and React framework: Steps: Set up the back-end Java framework. Create project structure. Configure build tools. Create React applications. Write REST API endpoints. Configure the communication mechanism. Practical case (SpringBoot+React): Java code: Define RESTfulAPI controller. React code: Get and display the data returned by the API.

Vue.js vs. React: Project-Specific Considerations Vue.js vs. React: Project-Specific Considerations Apr 09, 2025 am 12:01 AM

Vue.js is suitable for small and medium-sized projects and fast iterations, while React is suitable for large and complex applications. 1) Vue.js is easy to use and is suitable for situations where the team is insufficient or the project scale is small. 2) React has a richer ecosystem and is suitable for projects with high performance and complex functional needs.

React vs. Vue: Which Framework Does Netflix Use? React vs. Vue: Which Framework Does Netflix Use? Apr 14, 2025 am 12:19 AM

Netflixusesacustomframeworkcalled"Gibbon"builtonReact,notReactorVuedirectly.1)TeamExperience:Choosebasedonfamiliarity.2)ProjectComplexity:Vueforsimplerprojects,Reactforcomplexones.3)CustomizationNeeds:Reactoffersmoreflexibility.4)Ecosystema

React's Role in HTML: Enhancing User Experience React's Role in HTML: Enhancing User Experience Apr 09, 2025 am 12:11 AM

React combines JSX and HTML to improve user experience. 1) JSX embeds HTML to make development more intuitive. 2) The virtual DOM mechanism optimizes performance and reduces DOM operations. 3) Component-based management UI to improve maintainability. 4) State management and event processing enhance interactivity.

React's Ecosystem: Libraries, Tools, and Best Practices React's Ecosystem: Libraries, Tools, and Best Practices Apr 18, 2025 am 12:23 AM

The React ecosystem includes state management libraries (such as Redux), routing libraries (such as ReactRouter), UI component libraries (such as Material-UI), testing tools (such as Jest), and building tools (such as Webpack). These tools work together to help developers develop and maintain applications efficiently, improve code quality and development efficiency.

Netflix's Frontend: Examples and Applications of React (or Vue) Netflix's Frontend: Examples and Applications of React (or Vue) Apr 16, 2025 am 12:08 AM

Netflix uses React as its front-end framework. 1) React's componentized development model and strong ecosystem are the main reasons why Netflix chose it. 2) Through componentization, Netflix splits complex interfaces into manageable chunks such as video players, recommendation lists and user comments. 3) React's virtual DOM and component life cycle optimizes rendering efficiency and user interaction management.

See all articles