React-Native TouchableHighlight on Focus在Android电视中不起作用

nhhxz33t  于 2023-02-09  发布在  React
关注(0)|答案(1)|浏览(236)

我试图创建一个应用程序与React本地+博览会的Adnroid电视和onFocus不工作的任何元素。
我试图通过迁移到“react-native”来修复它:“npm:react-native-tvos@latest”,但这也不起作用。
你知道怎么修吗?

<TouchableHighlight
            style={{backgroundColor: 'green', backfaceVisibility: 'visible', shadowColor: 'red'}}  
            hasTVPreferredFocus
            tvParallaxProperties={{ magnification: 1.2 }}
      onPress={() => {console.log('pres')}} 
      onFocus={() => {console.log('focus')}} >
          <Text style={{width: 50, height: 50, backgroundColor: 'transparent'}}>1</Text>
      </TouchableHighlight >
aor9mmx1

aor9mmx11#

我最近解决了这个问题。我的印象是,简单地将package.json内容改为"react-native": "npm:react-native-tvos@latest"就足够了,但它不会。如果你构建了这个项目,它会,但即使这样,它可能会抱怨很多东西。
尝试运行npm i react-native@npm:react-native-tvos@latest,它应该抱怨依赖项冲突。请逐个执行,使用npm uninstall [dependency]删除依赖项,然后尝试重新安装,直到成功。请注意您删除的依赖项,然后重新安装。我只需要删除react-nativereact@types/react-native。如果它抱怨版本,只要使用建议的版本,如npm i react@18.0.0为我工作。我不得不运行npm ci,以获得清洁安装我所有的软件包后,这个过程中,我的建设没有工作,但在此之后,一切顺利。
他们在https://www.npmjs.com/package/react-native-tvos的文档中提到,他们的版本是从react-native的公共版本派生出来的,但@latest版本似乎不是这样。
如果你使用的是 typescript ,不要忘记在你的一些 typescript 文件中包含import 'react-native/tvos-types.d',最好是根文件。
看起来这个包仍然有一些问题,比如不允许您为TouchableHighlight组件正确设置不透明度,但我目前正在为所有问题寻找变通方法。
希望这能帮上忙,干杯。

相关问题