mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 06:03:45 +01:00
Avoid mutating the previous state in a set function (#22935)
GitOrigin-RevId: b3613b8476bbb60a10ef6b293487b1017f56ea68
This commit is contained in:
+4
-3
@@ -37,9 +37,10 @@ export default function DictionaryModalContent({
|
||||
word => {
|
||||
runAsync(postJSON('/spelling/unlearn', { body: { word } }))
|
||||
.then(() => {
|
||||
setLearnedWords(value => {
|
||||
value.delete(word)
|
||||
return new Set(value)
|
||||
setLearnedWords(prevLearnedWords => {
|
||||
const learnedWords = new Set(prevLearnedWords)
|
||||
learnedWords.delete(word)
|
||||
return learnedWords
|
||||
})
|
||||
window.dispatchEvent(
|
||||
new CustomEvent('editor:remove-learned-word', { detail: word })
|
||||
|
||||
@@ -271,7 +271,8 @@ export function ProjectListProvider({ children }: ProjectListProviderProps) {
|
||||
|
||||
const toggleSelectedProject = useCallback(
|
||||
(projectId: string, selected?: boolean) => {
|
||||
setSelectedProjectIds(selectedProjectIds => {
|
||||
setSelectedProjectIds(prevSelectedProjectIds => {
|
||||
const selectedProjectIds = new Set(prevSelectedProjectIds)
|
||||
if (selected === true) {
|
||||
selectedProjectIds.add(projectId)
|
||||
} else if (selected === false) {
|
||||
@@ -281,7 +282,7 @@ export function ProjectListProvider({ children }: ProjectListProviderProps) {
|
||||
} else {
|
||||
selectedProjectIds.add(projectId)
|
||||
}
|
||||
return new Set([...selectedProjectIds])
|
||||
return selectedProjectIds
|
||||
})
|
||||
},
|
||||
[]
|
||||
@@ -293,7 +294,8 @@ export function ProjectListProvider({ children }: ProjectListProviderProps) {
|
||||
|
||||
const selectOrUnselectAllProjects = useCallback(
|
||||
checked => {
|
||||
setSelectedProjectIds(selectedProjectIds => {
|
||||
setSelectedProjectIds(prevSelectedProjectIds => {
|
||||
const selectedProjectIds = new Set(prevSelectedProjectIds)
|
||||
for (const project of visibleProjects) {
|
||||
if (checked) {
|
||||
selectedProjectIds.add(project.id)
|
||||
@@ -301,7 +303,7 @@ export function ProjectListProvider({ children }: ProjectListProviderProps) {
|
||||
selectedProjectIds.delete(project.id)
|
||||
}
|
||||
}
|
||||
return new Set([...selectedProjectIds])
|
||||
return selectedProjectIds
|
||||
})
|
||||
},
|
||||
[visibleProjects]
|
||||
|
||||
Reference in New Issue
Block a user