如何解决通过appium运行时,RN Picker的onValueChange在首次渲染时被调用
问题 我使用@反应本地社区/选择器创建一个选择器领域,它有一个叫onValueChange回调函数,当选择一些值被调用。现在,当我在我的android设备上正常运行我的应用程序时,在第一次渲染时,不会触发onValueChange。但是,当我通过Appium运行我的应用程序时,onValueChange在第一次渲染时被调用。 如果使用某些函数在父元素中调用setState,则将导致无限渲染。我在代码或Appium方面做错了吗?
环境: 操作系统-> macOS High Sierra版本10.13.6(17G14019) 鸦片:1.17.1-1 React Native:0.61.2 选择器版本:1.6.6 节点:10.14.2 Npm:6.4.1
重现问题 在虚拟反应本地项目中安装@ react-native-community / picker。 在app.js中编写以下代码后 当应用正常运行时,控制台日志不会在第一个渲染器上记录任何内容。但是,当应用程序通过appium运行时,它将字符串记录在第一个渲染器上。
import React,{ useState } from 'react';
import {Picker} from '@react-native-community/picker';
const app = () => {
const [language,setLanguage] = useState('')
return (
<Picker
selectedValue={language}
style={{height: 50,width: 100}}
onValueChange={(itemValue,itemIndex) => {
console.log('on change called')
setLanguage(itemValue) }}
>
<Picker.Item label="Java" value="java" />
<Picker.Item label="JavaScript" value="js" />
</Picker>
)
}
我想知道是否有人曾与Appium合作并且遇到过此问题。如果有人得到任何答案。
感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。