react-native icon indicating copy to clipboard operation
react-native copied to clipboard

TextInput multiline is jumpy and flaky when pressing new line

Open aprilmintacpineda opened this issue 3 years ago • 12 comments

Description

When you set mutline to true and enter/delete new lines, the scrolling is really flaky. Notice that this app was instantiated with npx react-native init myapp --template react-native-template-typescript

Android

https://user-images.githubusercontent.com/21032419/155330305-e22acaae-0e77-422b-af85-c565f0e81073.mov

iOS

https://user-images.githubusercontent.com/21032419/155330662-c1bd6d24-d02a-4c6d-a6d4-8ce2010537cf.mov

Version

0.67.2

Output of npx react-native info

info Fetching system and libraries information...
System:
    OS: macOS 11.6
    CPU: (8) x64 Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
    Memory: 72.38 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.0 - ~/.nvm/versions/node/v16.13.0/bin/node
    Yarn: 1.22.17 - ~/projects/samalapit/sellers/mobile-app/node_modules/.bin/yarn
    npm: 8.1.0 - ~/.nvm/versions/node/v16.13.0/bin/npm
    Watchman: 2021.12.06.00 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.11.2 - /Users/aprilmintacpineda/.rvm/gems/ruby-3.0.2/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
    Android SDK: Not Found
  IDEs:
    Android Studio: 2020.3 AI-203.7717.56.2031.7935034
    Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.11 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2 
    react-native: 0.67.2 => 0.67.2 
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps to reproduce

import { TextInput } from 'react-native';
<TextInput
  style={{
    borderWidth: 1,
    borderColor: '#000'
  }}
  multiline
/>

Adding scrollEnabled={false} will somehow fix the issue but:

  • it's not viable if you need the scrolling to be enabled.
  • It only fixes it for iOS, Android will still have a problem especially when delete new lines fast as seen in the video above.

Snack, code example, screenshot, or link to a repository

No response

aprilmintacpineda avatar Feb 23 '22 13:02 aprilmintacpineda

Am I really the only one experiencing this? It's quite weird that this isn't getting any attention, because it's literally just plain text input so I would expect others to experience this.

aprilmintacpineda avatar Mar 03 '22 09:03 aprilmintacpineda

@aprilmintacpineda I’m encountering the same thing, awaiting for a fix

efstathiosntonas avatar Mar 03 '22 09:03 efstathiosntonas

@aprilmintacpineda what react native version you’re using? A fix has been merged a while back.

0.67.3

I just saw 0.67.4 but the release notes doesn't talk about anything related to ios, it talked about a text input bug related to android. I'm just about to try it.

EDIT:

I'm now on 0.67.4 it still happens

@aprilmintacpineda I’m encountering the same thing, awaiting for a fix

Thanks for confirming! That gives me hope!

aprilmintacpineda avatar Mar 03 '22 09:03 aprilmintacpineda

@aprilmintacpineda ignore the first quote on your comment above, I confused the issues 🥴.

efstathiosntonas avatar Mar 03 '22 12:03 efstathiosntonas

oh, this has been around for years. yes it's a regular text input that flickers in a very basic scenario so user can tell for sure if the app was made using RN)) the problem seems to be due to lack of space to render the string, or some like that, so I made a wrapper that measures the size of text and sets a min height (+some extra actually) for the input. Not perfect, bu now I'm using it.

Omelyan avatar Jul 15 '22 22:07 Omelyan

@Omelyan do you mind sharing the wrapper?

efstathiosntonas avatar Jul 16 '22 10:07 efstathiosntonas

Any update on that?

JCown avatar Apr 25 '23 08:04 JCown

Same Issue here, I'm trying to make a Note writting app. This only seems to happen when the TextInput Field is not already covering the whole screen, as soon as you get into the range where you can scroll your text it stops the behaviour.

jonasmoeller avatar May 04 '23 18:05 jonasmoeller

Adding scrollEnabled={false} can solve it

Norcy avatar Aug 29 '23 07:08 Norcy

Also experiencing this problem - feels like it should be prioritized as it makes long text input unusable (unless you can turn off scrolling).

Related: https://github.com/facebook/react-native/issues/16826

alexking avatar Jan 02 '24 21:01 alexking

This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 7 days.

github-actions[bot] avatar Jul 01 '24 05:07 github-actions[bot]

this issue is not stale as it still exists.

Omelyan avatar Jul 01 '24 09:07 Omelyan