Skip to content

Commit

Permalink
Fix(post_view_page.dart): 중복 수정 방지
Browse files Browse the repository at this point in the history
기존의 모델을 수정하고 요청을 보내면 기존의 작업을 취소하는 API가 호출되기 때문에 원래 모델을 복사하는 형태로 수정함.
  • Loading branch information
sangohkim committed Feb 16, 2024
1 parent e42abd5 commit e1948cd
Showing 1 changed file with 24 additions and 10 deletions.
34 changes: 24 additions & 10 deletions lib/pages/post_view_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -754,13 +754,15 @@ class _PostViewPageState extends State<PostViewPage> {
children: [
// 좋아요 버튼
InkWell(
// API 요청 이전에 먼저 state를 변경한 뒤에 요청 결과에 따라 처리하기
onTap: () async {
// API 요청 이전에 먼저 state를 변경한 뒤에 요청 결과에 따라 처리하기
// 원래의 상태를 보관하기 위해 임시 모델 생성
ArticleModel tmpArticle = ArticleModel.fromJson(_article.toJson());
ArticleController(model: _article, userProvider: userProvider)
.setVote(true);
_updateState();
bool res = await ArticleController(
model: _article,
model: tmpArticle,
userProvider: userProvider,
).posVote();
debugPrint('좋아요 결과 ${res}');
Expand All @@ -785,13 +787,15 @@ class _PostViewPageState extends State<PostViewPage> {
const SizedBox(width: 20),
// 싫어요 버튼
InkWell(
// API 요청 이전에 먼저 state를 변경한 뒤에 요청 결과에 따라 처리하기
onTap: () async {
// API 요청 이전에 먼저 state를 변경한 뒤에 요청 결과에 따라 처리하기
// 원래의 상태를 보관하기 위해 임시 모델 생성
ArticleModel tmpArticle = ArticleModel.fromJson(_article.toJson());
ArticleController(model: _article, userProvider: userProvider)
.setVote(false);
_updateState();
bool res = await ArticleController(
model: _article,
model: tmpArticle,
userProvider: userProvider,
).negVote();
debugPrint('싫어요 결과 ${res}');
Expand Down Expand Up @@ -1351,15 +1355,20 @@ class _PostViewPageState extends State<PostViewPage> {
child: Row(
children: [
InkWell(
// API 요청 이전에 먼저 state를 변경한 뒤에 요청 결과에 따라 처리하기
onTap: () async {
// API 요청 이전에 먼저 state를 변경한 뒤에 요청 결과에 따라 처리하기
// 원래 모델값을 저장하기 위해 임시 모델 생성
CommentNestedCommentListActionModel
tmpCurComment =
CommentNestedCommentListActionModel
.fromJson(curComment.toJson());
CommentController(
model: curComment,
userProvider: userProvider)
.setVote(true);
_updateState();
bool res = await ArticleController(
model: _article,
bool res = await CommentController(
model: tmpCurComment,
userProvider: userProvider,
).posVote();
debugPrint('좋아요 결과 ${res}');
Expand Down Expand Up @@ -1387,15 +1396,20 @@ class _PostViewPageState extends State<PostViewPage> {
),
const SizedBox(width: 12),
InkWell(
// API 요청 이전에 먼저 state를 변경한 뒤에 요청 결과에 따라 처리하기
onTap: () async {
// API 요청 이전에 먼저 state를 변경한 뒤에 요청 결과에 따라 처리하기
// 원래 모델값을 저장하기 위해 임시 모델 생성
CommentNestedCommentListActionModel
tmpCurComment =
CommentNestedCommentListActionModel
.fromJson(curComment.toJson());
CommentController(
model: curComment,
userProvider: userProvider)
.setVote(false);
_updateState();
bool res = await ArticleController(
model: _article,
bool res = await CommentController(
model: tmpCurComment,
userProvider: userProvider,
).negVote();
debugPrint('좋아요 결과 ${res}');
Expand Down

0 comments on commit e1948cd

Please sign in to comment.