From 5d07edcc1945b90046148b6c2424f20f024efae2 Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Thu, 1 Jul 2021 15:33:19 -0400 Subject: Fix moment avatar rerender issue --- src/components/moments/MomentPost.tsx | 39 +++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/components/moments/MomentPost.tsx b/src/components/moments/MomentPost.tsx index f5a256d6..319542f9 100644 --- a/src/components/moments/MomentPost.tsx +++ b/src/components/moments/MomentPost.tsx @@ -1,5 +1,5 @@ import {useNavigation} from '@react-navigation/native'; -import React, {useContext, useEffect, useRef, useState} from 'react'; +import React, {useContext, useEffect, useMemo, useRef, useState} from 'react'; import { Image, KeyboardAvoidingView, @@ -173,22 +173,25 @@ const MomentPost: React.FC = ({ } }, [currentVisibleMomentId]); - const MomentPosterPreview = () => ( - - - navigateToProfile(state, dispatch, navigation, screenType, user) - } - style={styles.header}> - - {user.username} - - + const momentPosterPreview = useMemo( + () => ( + + + navigateToProfile(state, dispatch, navigation, screenType, user) + } + style={styles.header}> + + {user.username} + + + ), + [user.username], ); return ( @@ -284,7 +287,7 @@ const MomentPost: React.FC = ({ screenType={screenType} /> - + {momentPosterPreview} {!hideText && ( <> {moment.caption !== '' && -- cgit v1.2.3-70-g09d2