@Sulti
Учу javaScript

Как оптимизировать TextInput/TextArea в React Native (+expo)?

Здравствуйте, рендерится заново при каждом новом символе в TextInput/TextArea, искал в интернете по оптимизации, нашел что-то связанное с удалением атрибута value и т.д . Но это оказалось бессмысленно, т.к. рендер происходит все равно.

Как можно оптимизировать чтобы ввод происходил быстрее? Может отдельный экран для него создать, чтобы элементов было меньше?

return (
    <View style={styles.app}>
      <View>
        <TextInput 
          style={styles.input} 
          placeholder="Введите имя" 
          defaultValue={newPerson} 
          onChangeText={setNewPerson}/>
        <Button style={styles.buttonAdd} onPress={addPerson} title="Добавить"></Button>
      </View>
      <ScrollView style={styles.scroll}>
        {people.map(person => (
                <TouchableOpacity
                    onPress={() => navigation.navigate('User', person)} key={person.id}>
                    <View style={styles.person}>
                        <Text style={styles.personName}>{person.name}</Text>
                    </View>
                </TouchableOpacity>
            ))}
      </ScrollView>
    </View>
    )


P.S. Не бейте, лучше объясните :)
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
@davidnum95
Почему весь код не выложили?
рендерится заново при каждом новом символе в TextInput/TextArea

Так и должно работать.
И оно не должно тормозить при маленьком списке, значит в чем то другом проблема.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы