React Native сохраняет положение прокрутки с помощью выбора использования

#react-native #redux #scrollview

Вопрос:

У меня такая ситуация, я использую scrollview, и я использую scrollTo, когда он впервые открылся на экране, но когда я это делаю, мой выбор использования повторно отображает представление прокрутки, переходит к началу и снова прокручивает, как я могу сохранить положение просмотра прокрутки с помощью выбора использования

 const [data1, setData1] = useState(useSelector(reduxData => reduxData.data1));
const [data2, setData2] = useState(useSelector(reduxData => reduxData.data2));
 

когда я изменил это состояние вот так

 const [data1, setData1] = useState([]);
const [data2, setData2] = useState([]);
 

Прокрутите, чтобы все работало идеально, как я могу это исправить

Ответ №1:

Вы дублируете состояние с помощью useSelector внутри useState. Что делать, если вы определяете переменную из redux следующим образом:

 let data1 = useSelector(reduxData => reduxData.data1);
 

А затем используйте useEffect для прокрутки следующим образом:

 useEffect(() => {
  scrollTo(data1)
},[data1]);
// OR IF data1 DOES NOT CONTAIN THE PLACE TO SCROLL SUBSTITUTE 
// THE VARIABLE AS useEffect WILL ONLY RUN WHEN SUCH VARIABLE 
// CHANGES
 

Работает ли это?