2016-03-19 2 views
0

Wenn ich einen neuen Animated.Value (0) auf eine Variable setze und dann diese Variable in das Konsolenprotokoll ausgibt, bekomme ich eine unendliche Liste wie unten. Wie kann ich ein einzelnes Element in das Protokoll zurückgeben?React Native gibt ein Element zum Konsolenprotokoll zurück

{ _children: [], 
    x: 
    { _children: 
     [ { _children: 
      [ { _children: 
       [ { _props: 
        { style: [Circular], 
         onStartShouldSetResponder: [Function], 
         onMoveShouldSetResponder: [Function], 
         onStartShouldSetResponderCapture: [Function], 
         onMoveShouldSetResponderCapture: [Function], 
         onResponderGrant: [Function], 
         onResponderReject: [Function], 
         onResponderRelease: [Function], 
         onResponderStart: [Function], 
         onResponderMove: [Function], 
         onResponderEnd: [Function], 
         onResponderTerminate: [Function], 
         onResponderTerminationRequest: [Function], 
         children: 
         { '$$typeof': {}, 
          type: 
          { [Function] 
          displayName: 'Text', 
          propTypes: [Object], 
          getDefaultProps: [Object], 
          childContextTypes: [Object], 
          contextTypes: [Object], 
          defaultProps: [Object] }, 
          key: null, 

Antwort

1

Animated.Value ist ein komplexes verschachteltes Objekt mit vielen Eigenschaften. Wenn Sie auf das einzelne Element zugreifen möchten, können Sie auf dot notation zugreifen.

Ex: 
let obj = new Animated.Value(0); 
console.log(obj._value);//assuming _value is a valid property of the object 
+0

Aber wie würden Sie zum Beispiel den displayName hier dann zugreifen? Ich habe die Punktnotation ausprobiert, aber ich weiß nicht, wie ich auf diese Komponenten Bezug nehmen soll. Ist es wie obj._children._children._children._props oder was? Was auch immer ich versuchte, scheint nicht zu funktionieren. – Hasen

+0

Zeug im Inneren eingeschlossen [] sind Arrays. Auf Arrays wird über Indizes zugegriffen. Ich denke, es sollte obj.x._children [0] ._ children [0] ._ children [0] ._ props.children.children.type.displayName sein. Ich bin mir nicht sicher, was genau versuchen zu lösen? Sehr selten muss man so etwas tun. –

+0

Nun, ich gehe wahrscheinlich in die falsche Richtung. Zum Beispiel setze ich den Wert für eine Animation wie folgt: this.state.Anim.setValue (1); dann was, wenn ich überprüfen möchte, ob der Wert IS 1 ist? Oder gib einfach den Wert zurück. – Hasen