我试图创建一个应用程序与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 >
1条答案
按热度按时间aor9mmx11#
我最近解决了这个问题。我的印象是,简单地将package.json内容改为
"react-native": "npm:react-native-tvos@latest"
就足够了,但它不会。如果你构建了这个项目,它会,但即使这样,它可能会抱怨很多东西。尝试运行
npm i react-native@npm:react-native-tvos@latest
,它应该抱怨依赖项冲突。请逐个执行,使用npm uninstall [dependency]
删除依赖项,然后尝试重新安装,直到成功。请注意您删除的依赖项,然后重新安装。我只需要删除react-native
react
@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组件正确设置不透明度,但我目前正在为所有问题寻找变通方法。
希望这能帮上忙,干杯。