шаблон "одиночка" smalltalk: как я инициализирую переменные экземпляра?

Почему бы просто не превратить эту функцию в метод вашего компонента?

class MyComponent extends React.Component {
  constructor(props){
    super(prop)
    this.panResponder = PanResponder.create({
      onStartShouldSetPanResponder: (e, gesture) => true,
      onPanResponderGrant: this.onResponderGrant,
    });  
  }
  onResponderGrant = () => {
    this.state.pan.setOffset(this.state.pan.__getValue());
    this.state.pan.setValue({ x: 0, y: 0 });
    Animated.spring(this.state.pan, {toValue: {x:100, y:100}}).start();      
  }
}

, и теперь вы можете обойтись и вызывать onResponderGrant(), как вам нравится

10
задан sven 13 January 2009 в 11:47
поделиться

1 ответ

Попробуйте более простой:

YourClass class>>singleton

       UniqueInstance ifNil: [UniqueInstance := self basicNew initialize].
       ^UniqueInstance

затем на стороне экземпляра Вашего класса реализуют соответствующий #initialize метод, например:

YourClass>>initialize

          someInstvar := someInitalValue.
         ^self

Обновление:: Название метода класса, получающего доступ к одиночному элементу, варьируется, это может быть #default, #current, или #singleton. Я главным образом использую позже.

11
ответ дан 4 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: