react-native Image使用setNativeProps问题

在react-native中我们可以通过setNativeProps直接改动组件并出发局部刷新,不用使用props或state.
对此,官方的说明以及使用场景:
image.png

源码中对Image中的组件属性描述:

node_modules/react-native/Libraries/Image/Image.android.js
image-android
node_modules/react-native/Libraries/Image/Image.ios.js
image-ios

通过以上内容,我们可以看到,在通过image使用setNativeProps直接修改图片源的时候,在设置的时候还是不一样的,Android端是src, IOS端是source,需要注意这一点

使用方法如下:

1.导入source
import resolveAssetSource from 'resolveAssetSource'
2.图片组件
<Image
                  ref={'backImage'}
                  source={require('images/tabbar/back_white.png')}
              />
3.需要修改图片的地方
let sourceAttr = Platform.OS === 'ios' ? 'source' : 'src';
this.refs.backImage.setNativeProps({
        [sourceAttr]: [resolveAssetSource(require('images/tabbar/back_black.png'))]
      })

ok,大功告成。

ps: react-native开发之旅,痛并快乐着。?
最后,在此感谢:https://blog.csdn.net/lu1024188315/article/details/73733724

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值