* docs: update translation for React guide in Russian * fix: removed extra line before frontmatter block * fix: removed extra line in frontmatter block * fix: corrected frontmatter block * fix: corrected localeTitle in frontmatter block * Update index.md * fix: corrected localeTitle for Installation * Update index.md * Update index.md
		
			
				
	
	
	
		
			2.3 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			2.3 KiB
		
	
	
	
	
	
	
	
title, localeTitle
| title | localeTitle | 
|---|---|
| Higher-Order Components | Higher-Order Components | 
Higher-Order Components
В React Higher-Order Components (HOC) - это функция, которая принимает компонент и возвращает новый компонент. Программисты используют HOC для обеспечения повторного использования компонентной логики .
Если вы использовали Redux connect, то это значит, что вы уже работали с Higher-Order Components.
Основная идея:
const EnhancedComponent = enhance(WrappedComponent); 
Куда:
- enhance- это Higher-Order Component;
- WrappedComponent- это компонент, который вы хотите улучшить; а также
- EnhancedComponent- это новый компонент.
Это может стать телом enhance HOC:
function enhance(WrappedComponent) { 
  return class extends React.Component { 
    render() { 
      const extraProp = 'This is an injected prop!'; 
      return ( 
        <div className="Wrapper"> 
          <WrappedComponent 
            {...this.props} 
            extraProp={extraProp} 
          /> 
        </div> 
      ); 
    } 
  } 
 } 
В этом случае React.Component enhance возвращает anonymous class который расширяет React.Component . Этот новый компонент выполняет три простых действия:
- Отрисовывание WrappedComponentв элементеdiv;
- Передача собственных реквизитов для WrappedComponent; а также
- Внедрение дополнительной поддержки для WrappedComponent.
HOC - это всего лишь образец, который использует силу композиционной природы Реакта. Они добавляют функции к компоненту . С ними вы можете многое сделать!