Guia da Migração do Cloudsupport for React Native

A seguir estão os passos para atualização de versão da biblioteca nos aplicativos.

Para versão 1.23.0

  • Remover KeyboardAvoidingView e KeyboardAware internos ou que envolvem Screen e ScrollScreen, pois o tratamento de teclado é automático.

    Revise o componente raiz App.js, onde é usual conter KeyboardAware.

    • Nota 1: Ambos os componentes suportam keyboardAware={false}, que desatiba o controle interno de teclado, porém é recomendado utilizar o recurso embutido, pois inclui tratamentos especiais para iOS, especialmente dentro de modais.

    • Nota 2: O ScrollScreen já suporta o atributo keyboardAware, porém agora vale true por padrão.

  • Declarar propriedade insideModal em Screen e ScrollScreen quando utilizados em modais ou presentation: 'modal' do React Navigation.

  • Conferir o tema de Screen: A propriedade style foi removida em favor de containerStyle e contentStyle.

    • Nota 1: A primeira receberá flex 1 e paddings de safe area. A segunda é de uso livre.

    • Nota 2: No tema padrão, containerStyle tem backgroundColor a contentStyle tem paddingVertical. Antes ambas as configurações estavam no style. Adicionalmente, o estilo contentStyle recebeu flex e justifyContent para centralização do conteúdo.

    Estrutura de elementos do Screen:

      <View containerStyle>
         <SafeAreaProvider se insideModal>
            <KeyboardAvoidingView>
               <View contentStyle>
                  children...
               </View>
            </KeyboardAvoidingView>
         <SafeAreaProvider>
      </View>
    
  • Conferir o tema de ScrollScreen: Criada propriedade containerStyle. Foram mantidas style e contentStyle.

    • Nota 1: A primeira receberá flex 1 e paddings de safe area. Demais são de uso livre.

    • Nota 2: No tema padrão, containerStyle tem backgroundColor a contentStyle tem paddingVertical. Antes o background estava no style.

    Estrutura de elementos do ScrollScreen:

      <View containerStyle>
         <SafeAreaProvider se insideModal>
            <KeyboardAvoidingView>
               <ScrollView style contentStyle(contentContainerStyle)>
                  children...
               </ScrollView>
            </KeyboardAvoidingView>
         <SafeAreaProvider>
      </View>
    
  • Aplicar o arquivo theme.js constante no Showcase 1.19.0 (propriedades de Screen e ScrollScreen)

Para versão 1.21.0

  • Alterar uso do Hook useQueue:

    • Reescrito queue.enqueue(asyncFunction), mesma semântica
    • Reescrito queue.enqueueIfIdle(asyncFunction), mesma semântica

Para versão 1.20.0

  • Alterar uso do Hook useQueue, que então retorna { enqueue, enqueueIfIdle } em vez de array

Para versão 1.19.1

  • Aplicar o arquivo theme.js constante no Showcase 1.17.0 (propriedade Screen.contentStyle removida)

Para versão 1.14.0

  • Aplicar o arquivo theme.js constante no Showcase 1.14.0

Para versão 1.11.0

  • Aplicar o arquivo theme.js constante no Showcase 1.11.0

Para versão 1.10.0

  • Aplicar o arquivo theme.js constante no Showcase 1.10.0
  • Método isOpen removido do componente Modal, porém readicionado a partir da versão 1.17.0

Para versão 1.9.0

  • Aplicar o arquivo theme.js constante no Showcase 1.8.0

Para versão 1.8.0

  • Renomear propriedade titleAttr para labelAttr nas declarações de InputOption

Para versão 1.6.0

  • Aplicar o arquivo theme.js constante no Showcase 1.2.0

Para versão 1.5.0

  • Aplicar o arquivo App.js constante no Showcase 1.1.1

Para versão 1.4.0

  • Aplicar o arquivo theme.js constante no Showcase 1.1.0
  • Alterar declarações de OptionList conforme:
      <OptionList values={[
          <OptionListItem />,
          <OptionListItem />,
          ...
      ]} />
    

Para versão 1.2.0

  • Aplicar o arquivo theme.js constante no Showcase 1.0.3
  • Aplicar o arquivo App.js constante no Showcase 1.0.3

Para versão 1.1.0

  • Aplicar o arquivo App.js constante no Showcase 1.0.2