Как показать вводный слайдер приложения, построенный на expo, с помощью машинописного текста с использованием asyncStorage - PullRequest
1 голос
/ 10 июля 2020

Я использую response-native-app-intro-slider, чтобы показать адаптацию для моего приложения, созданного на expo с использованием машинописного текста. Я хочу, чтобы ползунок отображался только в первый раз во время запуска, но, похоже, у меня проблемы с ним. реагировать на собственный код с помощью asyncStorage.

Не уверен, что я делаю это прямо здесь.

import AsyncStorage from '@react-native-community/async-storage'

const data = [{...}, {...}, {...}]

AsyncStorage.setItem('showIntro', 'true')

function App() {
  { (AsyncStorage.getItem('showIntro') === 'true') ? (
      <AppIntroSlider
        renderItem={renderItem}
        data={data}
        onDone={onDone}/>
      ) : (
        <ShowApp />
      )
    }
 }

1 Ответ

0 голосов
/ 10 июля 2020

Думаю, onDone будет вызываться, когда ваш слайдер закончится. вы можете передать свою функцию обработчику onDone и установить для screen значение false.

import AsyncStorage from '@react-native-community/async-storage'

const data = [{...}, {...}, {...}]

const getScreen = async () => {
  return await AsyncStorage.getItem('showIntro'); 
}

function App() {
  const [showIntro, updateShowIntro] = React.useState(getScreen());

  const onDone = () => {
     AsyncStorage.setItem('showIntro', false).then(()=>{});
     updateShowIntro(false);
  }

  return (
  { showIntro ? (
      <AppIntroSlider
        renderItem={renderItem}
        data={data}
        onDone={onDone}/>
      ) : (
        <ShowApp />
      )
    }
  );
 }
...