描述
在启用新架构后,TextInput上的onChangeText
和onChange
事件在Android上会触发两次。
重现步骤
- 使用
yarn android
安装应用程序 - 在文本输入中输入一些文本
- 观察控制台中的日志
- 预期:每次按键时,onChange和onChangeText都会被记录一次
- 实际:它们每次按键时都被触发两次
React Native版本
0.74.3
受影响的平台
运行时- Android
领域
Fabric - 新的渲染器
npx react-native info
的输出
System:
OS: macOS 14.5
CPU: (8) arm64 Apple M2
Memory: 178.64 MB / 24.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 20.14.0
path: ~/.nvm/versions/node/v20.14.0/bin/node
Yarn:
version: 3.6.4
path: ~/.nvm/versions/node/v20.14.0/bin/yarn
npm:
version: 10.7.0
path: ~/.nvm/versions/node/v20.14.0/bin/npm
Watchman:
version: 2024.05.06.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.14.3
path: /Users/kadi/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 23.5
- iOS 17.5
- macOS 14.5
- tvOS 17.5
- visionOS 1.2
- watchOS 10.5
Android SDK: Not Found
IDEs:
Android Studio: 2022.3 AI-223.8836.35.2231.10671973
Xcode:
version: 15.4/15F31d
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.10
path: /Users/kadi/.sdkman/candidates/java/current/bin/javac
Ruby:
version: 2.7.8
path: /Users/kadi/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.74.3
wanted: 0.74.3
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: Not found
newArchEnabled: false
堆栈跟踪或日志
(NOBRIDGE) LOG change
(NOBRIDGE) LOG t
(NOBRIDGE) LOG change
(NOBRIDGE) LOG t
(NOBRIDGE) LOG change
(NOBRIDGE) LOG te
(NOBRIDGE) LOG change
(NOBRIDGE) LOG te
(NOBRIDGE) LOG change
(NOBRIDGE) LOG tes
(NOBRIDGE) LOG change
(NOBRIDGE) LOG tes
(NOBRIDGE) LOG change
(NOBRIDGE) LOG test
(NOBRIDGE) LOG change
(NOBRIDGE) LOG test
可复现问题
https://github.com/kadikraman/new-arch-text-input-bug
截图和视频
Screen.Recording.2024-07-18.at.11.20.20.mov
6条答案
按热度按时间6ojccjat1#
@kadikraman 这种情况在iOS上也发生吗?
3gtaxfhh2#
@kadikraman 这种情况在iOS上也发生过吗?
不,我只能在Android上重现它。
q8l4jmvw3#
@kadikraman 我检查了这个问题,正如你提到的,它在react-native最新版本0.74.3中是可重现的。但是我无法在当前的
react-native
主目录中重现它,即使用那里的rn-tester
应用程序here。也许它已经修复了,只需在那里检查一下。cqoc49vn4#
@kadikraman 我检查了这个问题,正如你提到的,它在最新的react-native版本0.74.3中是可以复现的。但是我无法在当前的
react-native
主程序中复现它,即使用那里的rn-tester
应用程序here。也许它已经修复了,你可以在那里检查一下。有趣的是,看起来这里也是一样:我无法在react native仓库中的测试应用程序上复现它🤔
zu0ti5jz5#
我们可以研究这些代码之间的diff关系,或者等待新版本发布。
7bsow1i66#
你们能尝试使用复现器
react-native@nightly
吗?