Нажмите кнопку программно в react native

#reactjs #react-native #react-redux #rxjs #react-router

#reactjs #react-native #react-redux #rxjs #реагировать-маршрутизатор

Вопрос:

В моем приложении react-native у меня есть экран, на котором он содержит форму. Я хочу отправить форму при загрузке экрана, потому что значения в форме будут постоянными. Итак, я хочу отправить форму при загрузке. Возможно ли это? Может кто-нибудь мне помочь..

 <PrimaryButton
          // onPress={onSubmit(siteUrl)}
          onPress={() => onSubmit(siteUrl)}
          text={translate("general.enter")}
          style={styles.buttonEnter}
          mode={isSiteUrlSubmitted ? "loading" : undefined}
        />
  

я попробовал это
onPress={onSubmit(siteUrl)}

но это показывает инвариантное нарушение: слишком много повторных рендерингов. React ограничивает количество рендеров, чтобы предотвратить бесконечный цикл.

Комментарии:

1. можете ли вы показать, что происходит внутри onSubmit?

Ответ №1:

вы можете вызвать onSubmit() React.useEffect

как таковой

 React.useEffect(() => {
   onSubmit() 
}, []);

  

При добавлении пустых круглых скобок
Это будет выполнено только один раз при загрузке

Комментарии:

1. Спасибо за ваш быстрый ответ. Я надеюсь, что это то, что вы имеете useEffect(() => { onSubmit(siteUrl); }); в виду, но я получил инвариантное нарушение ошибки: превышена максимальная глубина обновления. Это может произойти, когда компонент повторно вызывает setState внутри componentWillUpdate или componentDidUpdate . React ограничивает количество вложенных обновлений, чтобы предотвратить бесконечные циклы.

2. привет @sreenumalae добавить ,[] после } в useEffect качестве useEffect(() => { onSubmit(siteUrl); },[]);

3. Привет @yoel Я сделал, как вы сказали, но все равно я получил то же самое нарушение инварианта ошибок: превышена максимальная глубина обновления. Это может произойти, когда компонент повторно вызывает setState внутри componentWillUpdate или componentDidUpdate . React ограничивает количество вложенных обновлений, чтобы предотвратить бесконечные циклы.

4. @sreenumalae Вы удалили ее из onPress ?

5. Да, я пытался, удалив, и я также попытался, удалив всю PrimaryButton.