React踩坑

在React中,图片引入需通过import语句导入;表单双向绑定可以通过Form.Item自动注入value和onChange;input等组件可通过useState和onChange实现绑定;子组件向父组件传值通常通过回调函数;useRef适用于保存状态或操作DOM,而Redux则用于全局状态管理,通过action和reducer处理状态更新。

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

1、图片引入路径

在react中img的src不能采用<img src="../../images/xxxxx.png" />这类方式直接使用相对路径,因为最后渲染时,这个路径实际上是用变量的样子代替,所以在标签里面用{}包裹。

正确写法:

import luohudongtai from "../../images/luohudongtai.png";

<img src= {luohudongtai} />

2、表单双向绑定

react实现了对Form.Item下的自定义组件自动注入value属性和onChange事件;子组件可以直接通过props调取使用

3、其他组件双向绑定

react的input、select等组件中没有数据双向绑定,可利用useState + value + onChange事件实现

4、子组件向父组件传值

1)通过父组件传递到子组件的方法向父组件传递值

5、useRef使用场景

1)如果我们只是想保存状态不影响视图更新,而且可以同步更新(useState是异步更新)&获取我们的状态,那么就使用 useRef(可以用全局的变量代替,注意命名)

2)用于操作Dom元素,取某个组件的原生事件,如主动调用input的click事件

变量是决定视图图层渲染的变量,请使用useState,其他用途useRef

6、Redux库

需要回调通知state (等同于回调参数) -> action( action是纯声明式的数据结构,只提供事件的所有要素,不提供逻辑)

需要根据回调处理 (等同于父级方法) -> reducer(是一个匹配函数,action的发送是全局的:所有的reducer都可以捕捉到并匹配与自己相关与否,相关就拿走action中 的要素进行逻辑处理,修改store中的状态,不相关就不对state做处理原样返回)

需要state (等同于总状态) -> store(负责存储状态并可以被react api回调,发布action)

### React Native 开发常见问题及解决方法 #### 1. 安装依赖问题 当安装新的 UI 库或其他依赖项时,可能会遇到版本不兼容的情况。确保所使用的库版本与当前项目中的其他依赖项相匹配非常重要。对于 `react-native-ui-lib` 和 `React Native Paper` 这样的库,在项目的 `package.json` 文件中确认版本信息可以有效预防此类错误的发生[^1]。 如果检测到版本之间的差异,则应考虑升级至最新的稳定版以保持一致性。可以通过运行命令如: ```bash npm update react-native react-native-paper ``` 或是使用 Yarn 来完成此操作: ```bash yarn upgrade react-native react-native-paper ``` 这有助于减少因不同版本间的API变化而引起的潜在冲突[^2]。 #### 2. 处理日期时间选择器的版本冲突 针对像 `DateTimePicker` 这样特定功能性的组件,在引入新包之前同样需要注意其与其他现有模块是否存在相互作用的问题。特别是要注意检查是否有任何已知的版本冲突报告,并采取相应的措施加以规避或修复[^3]。 #### 3. 寻求外部资源的帮助 即使遵循上述建议,有时仍可能碰到难以自行解决的技术难题。此时查阅官方文档以及活跃于各大技术交流平台上寻求帮助是非常必要的途径之一。许多时候前人已经经历过相同的问题并分享了解决方案,这些都可以成为宝贵的学习资料。 #### 4. 跨平台适配挑战 由于 React Native 的一大特色就是能够编写一次代码同时部署到多个操作系统上,因此不可避免会面临一些关于如何让应用程序在各个目标设备间表现一致性的考验。特别是在处理原生控件样式定制方面尤为明显。熟悉各平台特有的设计指南并将它们融入到应用的设计当中是克服这一障碍的关键所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值