问题就在这里const updateTitle = text => { let tempTitle = title; // These two variables are the same object tempTitle['text'] = text; setTitle(tempTitle); // problem is here}React 使用 object.is() 方法来比较前后的两个值。看这个Object.is(title, tempTitle) // true你应该像这样制作“title”和“tempTitle”不同的对象const updateTitle = text => { let tempTitle = {...title}; // tempTitle is a new object tempTitle['text'] = text; setTitle(tempTitle);}这是可变对象的演示。var a= {name:1}var b = a;b.name=2var result = Object.is(a,b)console.log(result)// true