#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
Работает ли это?