useMergedState 可以合并状态
如果前一状态和新状态都是对象,则useMergedState将合并这些状态(就像this.setState),但如果它们不是,则只需将前一状态替换为新状态(useState的默认行为)。
合并状态:
...
const [userInfo, setUserInfo] = useMergedState({ name: 'Dan', age: 26 });
// userInfo => { name: 'Dan', age: 26 }
setUserInfo({age: 27});
// userInfo => { name: 'Dan', age: 27 }
...
默认行为:
...
const [name, setName] = useMergedState('Dan');
// name => 'Dan'
setName('Abramov');
// name => 'Abramov'
...