title: React native : Json.stringify cannot serialize cyclic structure
body: <p>The issue happened here while using canvas property.        </p>
  
  <p>I tried to create roulette in react native using canvas property. I successfully used canvas, except I cannot use <code>ctx.drawImage</code> methods. When I tried to use them I got an error like</p>
  
  <blockquote>
    <p>JSON.Stringify cannot serialize cyclic structures </p>
  </blockquote>
  
  <p>Here is a code snipet</p>
  
  <pre><code>            componentDidMount(){
              wheelCanvas = this.updateCanvas();
      }
  
  // This is in error while rendering : 
  
              ctx.drawImage(wheelCanvas, wheelCanvas.width / 2, wheelCanvas.height / 2);
  
              updateCanvas() {
              var outsideRadius = 120;
              var textRadius = 100;
              var insideRadius = 30;
              var canvas = this.refs.canvasRoulette;
              let ctx = canvas.getContext("2d");
              canvas.width = canvas.height = outsideRadius * 2 + 6;
  
              var x = outsideRadius + 3;
              var y = outsideRadius + 3;
  
              ctx.font = "bold 18px Helvetica, Arial";
  
              for (var i = 0; i &lt; rouletteSize; i++) {
                var angle = i * arc;
                ctx.fillStyle = colors[i];
                ctx.beginPath();
                ctx.arc(x, y, outsideRadius, angle, angle + arc, false);
                ctx.arc(x, y, insideRadius, angle + arc, angle, true);
                ctx.strokeStyle = "#fff";
                ctx.lineWidth = 1;
                ctx.stroke();
                ctx.fill();
                ctx.save();
                ctx.shadowOffsetX = -1;
                ctx.shadowOffsetY = -1;
                ctx.shadowBlur = 0;
                ctx.shadowColor = "rgb(220,220,220)";
                ctx.fillStyle = "#fff";
                ctx.translate(
                  x + Math.cos(angle + arc / 2) * textRadius,
                  y + Math.sin(angle + arc / 2) * textRadius
                );
  
                ctx.rotate(angle + arc / 2 + Math.PI);
                var text = numbers[i];
                ctx.fillText(text, -ctx.measureText(text).width / 2, 5);
                ctx.restore();
              }
              return canvas;
              }
  </code></pre>