【发布时间】:2021-02-08 23:02:14
【问题描述】:
我面临一个奇怪的问题。我正在使用 redux 和 react 。当从 store 获取新道具时,react useState 再次初始化我的数据。文档说 useState 初始值仅在第一次渲染中,但我不明白为什么会发生这种情况
function UploadFileInfo({
createdCategory
}){
const [data, setData] = useState({
video_id: null,
title: 'title',
category_id: '2',
channel_category_id: '',
info: '',
tags: [],
playlists: '',
enable_comments: 0,
enable_watermark: false,
banner_id: null,
});
return (
<Paper square className={classes.paper}>
</Paper>
);
const mapStateToProps = createStructuredSelector({
tags: makeSelectTags(),
categories: makeSelectCategories(),
createdTag: makeSelectCreateTag(),
createdCategory: makeSelectCreateCategory(),
createdPlaylist: makeSelectCreatedPlaylist(),
myCategories: makeSelectMyCategories(),
myPlaylists: makeSelectMyPlaylists(),
uploadedFile: makeSelectUploadFile(),
});
function mapDispatchToProps(dispatch) {
return {
dispatch,
addTag: title => dispatch(createTag(title)),
addCategory: title => dispatch(createCategory(title)),
addPlaylist: title => dispatch(createPlaylist(title)),
publishVideo: data => dispatch(createVideo(data)),
};
}
const withConnect = connect(
mapStateToProps,
mapDispatchToProps,
);
export default compose(withConnect)(UploadFileInfo);
}
【问题讨论】:
标签: reactjs redux react-hooks