在封装原生自定义View到react native中显示时,发现原生的自定义View在数据变动后
invalidate();
invalidate()方法无效,并没有刷新视图的效果
在监听onDraw时,除了初始化的时候绘制了一次,后续的调用都没有走到这个方法里来
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Log.e("onDraw", mRadius + "");
canvas.drawCircle(mRadius, mRadius, mRadius, mPaint); // 画一个半径为100px的圆
}
解决的办法就是在react native调用setState或者forceUpdate,让RN重新渲染,这时候才会触发自定义View的onDraw机制