React: ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Singleton React

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 27 нояб. 2015  Β·  5ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: facebook/react

Π­ΠΉ, рСбята!
Π˜Ρ‚Π°ΠΊ, Π² этом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я ΠΏΠΈΡˆΡƒ, Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Β«Ρ€Π°Π·Π΄Π΅Π» ΠΏΠΎΠΌΠΎΡ‰ΠΈΒ». По сути, это ΠΏΠΎΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ тСксты ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ возился ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.

Π― Ρ…ΠΎΡ‡Ρƒ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ своСму ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Β«Ρ€Π°Π·Π΄Π΅Π»Π° справки», для ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ справку. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Flux с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ дСйствиями ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ. Π­Ρ‚ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ это довольно большая установка с двумя Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для этой Ρ†Π΅Π»ΠΈ. Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ я столкнулся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, диспСтчСризация дСйствий Ρ€Π°Π·Π΄Π΅Π»Π° справки ΠΈΠ·-Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… дСйствий (Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ «НС удаСтся ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² сСрСдинС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈΒ»).

Однако, Ссли Π±Ρ‹ я ΠΌΠΎΠ³ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Β«Ρ€Π°Π·Π΄Π΅Π» справки» ΠΊΠ°ΠΊ одноэлСмСнтный , я ΠΌΠΎΠ³ Π±Ρ‹ просто import helpSection from './HelpSection ΠΈ ΠΏΠΎΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ с этим, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ я ΠΏΠΎΠ»ΡƒΡ‡Ρƒ экзСмпляр Β«Ρ€Π°Π·Π΄Π΅Π»Π° справки». ВсС, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² helpSection ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСт свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Ρ…ΠΎΡ‡Ρƒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ.

Π― знаю, Ρ‡Ρ‚ΠΎ это Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… React, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ мСняСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ½ΠΎΠ³Π΄Π° это Ρ‚ΠΎΠ³ΠΎ стоит. На ΠΌΠΎΠΉ взгляд, это своСго Ρ€ΠΎΠ΄Π° комбинация ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дСйствий ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π² ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. МногиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ созданы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π²ΠΎ врСмя выполнСния, поэтому, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях это Π±ΡƒΠ΄Π΅Ρ‚ вСсьма ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.

Π― Π½Π΅ ΠΌΠΎΠ³ Π½Π°ΠΉΡ‚ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ссылки Π½Π° это Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, ΠΊΡ€ΠΎΠΌΠ΅ этого JSfiddle , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ (это Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ нСясно, ИМО). Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это?

Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² JavaScript ΠΈ React, поэтому я ΠΌΠΎΠ³Ρƒ ΡƒΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, надСюсь, Π½Π΅Ρ‚.
Π§Ρ‚ΠΎ Π’Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΎΠ± этом?
Бпасибо Π·Π° ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅.

(PS ΠŸΡ€ΠΎΡΡ‚ΠΈΡ‚Π΅ Π·Π° Π΄Π²ΡƒΡΠΌΡ‹ΡΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒ, английский Π½Π΅ ΠΌΠΎΠΉ Ρ€ΠΎΠ΄Π½ΠΎΠΉ язык ...: smile :)

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ @all ,

Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΎΠΆΠΈΠ²ΠΈΡ‚ΡŒ этот Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Ρ‚ΠΎΡ‡ΠΊΡƒ зрСния. Wir response @ 16 позволяСт ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ DOM с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΡ€Ρ‚Π°Π»ΠΎΠ² . Для этого Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° использования я создаю Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ увСдомлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ монтируСтся Π² ΠΌΠΎΠ΅ΠΌ App.jsx ΠΊΠ°ΠΊ это.

App.jsx

[...]
render() {
  return (<SingletonOverlay></SingletonOverlay>)
}
[...]

Notification.jsx

import React from 'react';
import ReactDOM from 'react-dom';
import NotificationComponent from './Notification.js';
import SingletonOverlay from '../general/Overlay.js';

export default class Notification extends React.Component {

  constructor(props) {
    super(props);
    this.state = {
      element: null
    };
  }

  componentDidMount() {
    this.setState({ element: ReactDOM.findDOMNode(SingletonOverlay) });
  }

  render() {
    return this.state.element
      ? ReactDOM.createPortal(
        <NotificationComponent>That is a notification</NotificationComponent>,
        this.state.element,
      )
      : null;
  }
}

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ - Π½Π°ΠΉΡ‚ΠΈ domNode с document.findElementById ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ функциями ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΡ… ReactDOM.findDOMNode , Ρ‡Ρ‚ΠΎ мСня ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ устраиваСт, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ я Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΏΠΎΠΊΠΈΠ½ΡƒΡ‚ΡŒ Β«React-CosmosΒ».

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ экзСмпляры ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, вмСсто ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ самого экзСмпляра для Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. МСня Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

@jimfb стоит Π»ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ?

ВсС 5 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° вопрос использования, Π° Π½Π΅ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ядрС React. На вопросы ΠΎΠ± использовании Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Ρ‚Π°ΠΊΠΈΡ… сайтах, ΠΊΠ°ΠΊ StackOverflow, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ пытаСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с github для отслСТивания ошибок Π² ядрС React. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π½ΠΎ Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ здСсь ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² StackOverflow.

Π§Ρ‚ΠΎ касаСтся вашСго вопроса, я Π»ΠΈΡ‡Π½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Π°ΠΌ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Ρ… ΠΈΠ³Ρ€.
http://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons

Бпасибо Π·Π° ΠΎΡ‚Π²Π΅Ρ‚.
Π•ΡΡ‚ΡŒ Π»ΠΈ ΡƒΠΆΠ΅ способ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ React ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ экзСмпляры, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… я Π½Π΅ знаю? (Π― Π½Π΅ Π΄ΠΎΠ²Π΅Ρ€ΡΡŽ JSfiddle, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ†Π΅Π½Π΅Π½ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· вас, ΡΡ‚Π°Ρ€ΡˆΠΈΡ…). Если Π΅ΡΡ‚ΡŒ, ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΈΠΌ со ΠΌΠ½ΠΎΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ я Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ нашСл ΠΎΠ± этом Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

На страницС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ «ОбмСн Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈΒ» :

Для связи ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ-ΠΏΠΎΡ‚ΠΎΠΌΠΎΠΊ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ систСму событий.
...
Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎΡ‚ΠΎΠΊΠ° - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… способов ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, синглтоны Π½Π΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Π°ΠΌΠΈ ссылкС Π½Π° StackOverflow ΠΌΠ½ΠΎΠ³ΠΈΠ΅ люди фактичСски сказали, Ρ‡Ρ‚ΠΎ использованиС синглтонов ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях. Из Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°:

Π‘ΠΈΠ½Π³Π»Ρ‚ΠΎΠ½Ρ‹ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ (ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ) ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.
Разногласия Π·Π° рСсурсы.
Если Ρƒ вас Π΅ΡΡ‚ΡŒ рСсурс,
(1) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ экзСмпляр, ΠΈ
(2) Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ этим СдинствСнным экзСмпляром,
Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ синглтон.

Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΌΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования (ΠΈ Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ°Π»ΠΎ Π² ΠΌΠΈΡ€Π΅ React).

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ это всС Π΅Ρ‰Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° для GitHub, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ каТСтся подходящим способом использования ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ссылку Π½Π° Π½Π΅Π³ΠΎ.

ЭкзСмпляры ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² React ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ состояниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ находится этот экзСмпляр Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Π΅Ρ€Π΅Π²Π°. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ экзСмпляр Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… мСстах. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ идСя синглтон-экзСмпляров Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла Π² ΠΌΠΈΡ€Π΅ React.

Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² этой скрипкС, Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ являСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ я Π±Ρ‹ Π½Π°Π·Π²Π°Π» синглтоном Π² основном ΠΈΠ·-Π·Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° СдинствСнного экзСмпляра - это большС ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с собствСнным состояниСм. Π—Π°Ρ‚Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° экзСмпляр визуализируСтся, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ (Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ «глобальноС») состояниС. Он ΠΎΠ±ΠΌΠ°Π½Ρ‹Π²Π°Π΅Ρ‚ ΠΈ сохраняСт ссылку Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ экзСмпляр Π² Π΅Π³ΠΎ глобальном состоянии ΠΈ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ обновляСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ экзСмпляр. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π²Π°ΠΌ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ большС ΠΈΠ· Π½ΠΈΡ…, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½. Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ Π±ΠΎΠ»Π΅Π΅ 1.

Π§Ρ‚ΠΎ касаСтся ссылки Π½Π° это Π² Π½Π°ΡˆΠΈΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…, ΠΌΡ‹ этого Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ. БущСствуСт мноТСство шаблонов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ React, Π½ΠΎ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±ΠΎ всСх ΠΈΠ· Π½ΠΈΡ….

Бпасибо, Ρ‡Ρ‚ΠΎ нашли врСмя ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ, ДТСймс.
Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, я ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ понимаю Π²Π°ΡˆΡƒ Ρ‚ΠΎΡ‡ΠΊΡƒ зрСния ΠΈ Ρ†Π΅Π½ΡŽ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ознакомились с JSfiddle. ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ послСднСС заявлСниС.

  1. Π’ΠΎ, Ρ‡Ρ‚ΠΎ я ΠΈΠΌΠ΅Π» Π² Π²ΠΈΠ΄Ρƒ ΠΏΠΎΠ΄ «синглтоном», - это экзСмпляр ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° React, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отобраТаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π²ΠΎ всСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΌΠΎΠ΅ΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ упомянули ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ пСрвая Π½Π΅ обновляСтся, Ссли Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ Π±ΠΎΠ»Π΅Π΅ 1 Π½Π΅ Ρ‚Π°ΠΊ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°.
  2. Π― знаю, Ρ‡Ρ‚ΠΎ «загрязнСниС» глобального пространства ΠΈΠΌΠ΅Π½ Π½Π΅ одобряСтся, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ своС мСсто ΠΈ своС использованиС. ИспользованиС Flux для Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° Π²Π΅Ρ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ (я боролся с этим Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ дня ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ»ΠΎ Ρ‚ΠΎΠ³ΠΎ), ΠΈ Π΄Π°ΠΆΠ΅ сСйчас Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π», Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Β«Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Β» ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ ΠΈΠ»ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ). ИспользованиС синглтона, ΠΊΠ°ΠΊ я описал, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ . Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ прСимущСства ΠΏΠ΅Ρ€Π΅Π²Π΅ΡˆΠΈΠ²Π°ΡŽΡ‚ нСдостатки.
  3. Π’Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ касаСтся Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ React ΠΎΠΊΠΎΠ»ΠΎ 2 мСсяцСв, ΠΈ Π½Π΅ сСкрСт, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Ρ… сильно Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Для мСня ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ использованию React Π±Ρ‹Π»ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΌ ΠΈ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ.
    Π’ настоящСС врСмя Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ содСрТат 3 прСдлоТСния ΠΎ связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈ «сСмСйных» ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ. Π― понимаю, Ρ‡Ρ‚ΠΎ для вас ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ доступных шаблонов, Π½ΠΎ ΠΏΠΎΠΊΠ° я встрСчался Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Flux.
    Новички Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, пСрСчислСниС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… шаблонов, доступных для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ всСвозмоТных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, - это ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ слСдуСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ инструмСнт ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, - самая слоТная Ρ‡Π°ΡΡ‚ΡŒ.

Π― Ρ…ΠΎΡ‡Ρƒ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π±Ρ‹Π»ΠΎ тяТСло. Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ вопрос Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Π― всСгда Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΈΡˆΡƒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ... Бпасибо, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π»ΠΈ мСня ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ. :ΡƒΠ»Ρ‹Π±ΠΊΠ°:

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ @all ,

Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΎΠΆΠΈΠ²ΠΈΡ‚ΡŒ этот Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Ρ‚ΠΎΡ‡ΠΊΡƒ зрСния. Wir response @ 16 позволяСт ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ DOM с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΡ€Ρ‚Π°Π»ΠΎΠ² . Для этого Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° использования я создаю Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ увСдомлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ монтируСтся Π² ΠΌΠΎΠ΅ΠΌ App.jsx ΠΊΠ°ΠΊ это.

App.jsx

[...]
render() {
  return (<SingletonOverlay></SingletonOverlay>)
}
[...]

Notification.jsx

import React from 'react';
import ReactDOM from 'react-dom';
import NotificationComponent from './Notification.js';
import SingletonOverlay from '../general/Overlay.js';

export default class Notification extends React.Component {

  constructor(props) {
    super(props);
    this.state = {
      element: null
    };
  }

  componentDidMount() {
    this.setState({ element: ReactDOM.findDOMNode(SingletonOverlay) });
  }

  render() {
    return this.state.element
      ? ReactDOM.createPortal(
        <NotificationComponent>That is a notification</NotificationComponent>,
        this.state.element,
      )
      : null;
  }
}

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ - Π½Π°ΠΉΡ‚ΠΈ domNode с document.findElementById ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ функциями ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΡ… ReactDOM.findDOMNode , Ρ‡Ρ‚ΠΎ мСня ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ устраиваСт, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ я Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΏΠΎΠΊΠΈΠ½ΡƒΡ‚ΡŒ Β«React-CosmosΒ».

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ экзСмпляры ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, вмСсто ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ самого экзСмпляра для Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. МСня Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

@jimfb стоит Π»ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ?

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ