File tree Expand file tree Collapse file tree 1 file changed +18
-6
lines changed
Expand file tree Collapse file tree 1 file changed +18
-6
lines changed Original file line number Diff line number Diff line change @@ -23,17 +23,29 @@ export class MessagePreviousAndNextMessageStore {
2323
2424 public setMessageListPreviousAndNextMessage ( messages : LocalMessage [ ] ) {
2525 const currentValue = this . state . getLatestValue ( ) ;
26- const messageList : MessagePreviousAndNextMessageStoreType [ 'messageList' ] =
26+ const prevMessageList : MessagePreviousAndNextMessageStoreType [ 'messageList' ] =
2727 currentValue . messageList ;
28+ const newMessageList : MessagePreviousAndNextMessageStoreType [ 'messageList' ] = { } ;
2829 for ( let i = 0 ; i < messages . length ; i ++ ) {
2930 const message = messages [ i ] ;
3031 const previousMessage = messages [ i - 1 ] ;
3132 const nextMessage = messages [ i + 1 ] ;
32- messageList [ message . id ] = {
33- nextMessage,
34- previousMessage,
35- } ;
33+
34+ const existing = prevMessageList [ message . id ] ;
35+
36+ if (
37+ existing &&
38+ existing . previousMessage === previousMessage &&
39+ existing . nextMessage === nextMessage
40+ ) {
41+ newMessageList [ message . id ] = existing ;
42+ } else {
43+ newMessageList [ message . id ] = {
44+ nextMessage,
45+ previousMessage,
46+ } ;
47+ }
3648 }
37- this . state . partialNext ( { messageList } ) ;
49+ this . state . partialNext ( { messageList : newMessageList } ) ;
3850 }
3951}
You can’t perform that action at this time.
0 commit comments