react native实践问题集合

文章讲述了在mac环境下使用AndroidStudio遇到的编译问题,以及如何尝试通过升级软件来解决。另外,提到了ReactNative项目在Jenkins上打包时,由于未提交全部依赖导致的打包失败问题,解决方案是清除Jenkins缓存。此外,还讨论了在ReactNative中使用Hook(useEffect和useState)控制弹窗显示时遇到的异常,并提供了一个通过更新状态来避免弹窗问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、mac电脑,Android studio编译报错:Cannot run program “node”: error=2, No such file or directory

处理方式一(如下),如果不生效,升级Android studio

open -a ~/Applications/JetBrains\ Toolbox/Android\ Studio.app 

如果不生效,处理方式二,升级Android studio

2、React native项目,Jenkins打包,其他代码没有更新到bundle文件里面

依赖引入【 “@react-native-community/blur”: “^4.3.2”】没有提交至Jenkins远程项目,导致修改的其他代码,无法打包进入bundle文件
推测:Jenkins缓存原因,没有依赖,中间打包未报错中断, 清空缓存后发现Jenkins报依赖问题,无法正常打包。

3、Hook方式(useEffect,useState),ture&false控制弹窗显示与隐藏

原因暂时不知道, 设置了信的Count,state,每次更新刷新一个值,做View的key,可修复弹窗异常。

    const [showModal, setShowModal] = useState(false)
    const [count, setCount] = useState(0) // 模态弹框貌似有个bug,弹出后立即点击隐藏会出现hideModa方法不掉用,所以销毁重建
    //监控Emitter
    useEffect(() => {
        const showCardListener = YunJiUtils.DeviceEventEmitterAddListener('showAllInOneCard', (data) => {
            setShowModal(true)
            setCount((value) => value + 1)
        })
        return () => {
            showCardListener?.remove()
        }
    }, [])

 return <CSModal key={count} visible={showModal} >
		<!--显示内容 ....-->
		</CSModal>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值