How to use abstract components in React
This time I will bring you the abstract use of components in React. What are the precautions for the abstract use of components in React? The following is a practical case, let's take a look.
mixin
The characteristics of mixin are widely found in variousobject-oriented languages. In ruby, the include keyword is mixin, which is to mix one module into another module or class.
Encapsulating mixin methodconst mixin = function(obj, mixins) { const newObj = obj newObj.prototype = Object.create(obj.prototype) for(let props in mixins) { newObj.prototype[props] = mixins[props] } return newObj } const BigMixin = { fly: () => { console.log('i can fly') } } const Big = function() { console.log('new big') } const FlyBig = mixin(Big , BigMixin) const flyBig = new FlyBig() FlyBig.fly() //'i can fly'
Mixins in React
React provides mixin attributes when using createClass to build components, such as the official PureRenderMixin:import React from 'react' import PureRenderMixin from 'react-addons-pure-render-mixin' React.createClass({ mixins: [PureRenderMixin] render() { return <p>foo</foo> } })
lifecycleMethods are differentiated.
Implementing two common methods with the same name in different mixins will not be overwritten in React. An error in ReactClassInterface will be reported in the console, indicating that you tried to define a method multiple times in the component. **Therefore, mixins of Chongming ordinary methods are not allowed in React. If it is a method defined by the React life cycle, the life cycle methods of each module will be superimposed and executed sequentially**. We see that the mixin using createClass does two things for the group price: 1. Tool methods: Some tool methods are shared for components and can be used in each component. 2. Life cycle inheritance: props and state are merged, and mixin can merge life cycle methods. If there are many mixins to define the componentDidMount cycle, Then React will merge them very intelligently and execute them together.ES6 CLASS and decorator
Now we prefer to use the es6 class method to build components, but it does not support mixins. There is no good solution in the official documentation. Decorators are a feature defined in ES 7, similar to annotations in Java. Decorators are methods used at runtime. In redux or other application layer frameworks, decorators are increasingly used to decorate components. The core-decorator library provides developers with some practical decorators, which implement the @mixin we want. It superimposes the methods of each mixin object onto the prototype of the target object to achieve the purpose of mixin.import React, { Component } from 'react' import { mixin } from 'core-decorator' const PuerRender = { setTheme() } const Them = { setTheme() } @mixin(PuerRender, Them) class MyComponent extends Component { render() {...} }
Note: react 0.14 starts stripping mixin
Mixin problem Destroys the encapsulation of the original components The mixin method can mix methods to bring new features to the component, and it will also bring new props and state, which means that there are some invisible states that we need to maintain. Mixins may also have interdependence. In this form, dependency chains will affect each otherI believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website! Recommended reading:JS prompt text box email address completion
$.ajax() method how to retrieve the message from the server Get json data
The above is the detailed content of How to use abstract components in React. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The DirectX repair tool is a professional system tool. Its main function is to detect the DirectX status of the current system. If an abnormality is found, it can be repaired directly. There may be many users who don’t know how to use the DirectX repair tool. Let’s take a look at the detailed tutorial below. 1. Use repair tool software to perform repair detection. 2. If it prompts that there is an abnormal problem in the C++ component after the repair is completed, please click the Cancel button, and then click the Tools menu bar. 3. Click the Options button, select the extension, and click the Start Extension button. 4. After the expansion is completed, re-detect and repair it. 5. If the problem is still not solved after the repair tool operation is completed, you can try to uninstall and reinstall the program that reported the error.

The KMS Activation Tool is a software tool used to activate Microsoft Windows and Office products. KMS is the abbreviation of KeyManagementService, which is key management service. The KMS activation tool simulates the functions of the KMS server so that the computer can connect to the virtual KMS server to activate Windows and Office products. The KMS activation tool is small in size and powerful in function. It can be permanently activated with one click. It can activate any version of the window system and any version of Office software without being connected to the Internet. It is currently the most successful and frequently updated Windows activation tool. Today I will introduce it Let me introduce to you the kms activation work

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.

The default display behavior for components in the Angular framework is not for block-level elements. This design choice promotes encapsulation of component styles and encourages developers to consciously define how each component is displayed. By explicitly setting the CSS property display, the display of Angular components can be fully controlled to achieve the desired layout and responsiveness.

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 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 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.

PHP components provide modular blocks for code reuse. Creating a component involves creating a class containing logic and functionality and registering it with the autoloader. Components are used through their classes, such as a component that calculates sales tax. A practical example demonstrating the use of components to calculate address-based sales tax in an e-commerce application. Components allow the application to simplify tax calculations and centrally manage tax rate changes.
