我以的形式写入状态
const [state,setState] =useState({
type:false,
imageSrc:'',
captionImage:'',
showImage:false,
});
当以形式改变状态时
setState({type:true});
setState({captionImage:'hellooo'});
setState({imageSrc:link});
并将其发送到另一个组件,如果该组件中有未定义的,但我以的形式写状态
const [type, setType] = useState(false);
const [imageSrc, setImageSrc] = useState('');
const [captionImage, setCaptionImage] = useState(false);
const [showImage, setShowImage] = useState(false);
当以形式改变状态时
setType(true);
并将其发送到另一个组件,则该组件中存在ok。
因为在第一种形式中,当您设置新状态而不是像这样传递一个新的完整对象时:
{
type:false,
imageSrc:'',
captionImage:'',
showImage:false,
}
您正在将您的状态设置为:
{type:true}
其他道具都不见了,如果你想在你的状态下只替换一个道具(例如type
,同时保留其他道具,你可以这样做:
setState({ ...state, type: 'new value' })