From 8d3ea9b8cfc7e85c1db910d826d7de8bf8bd39fd Mon Sep 17 00:00:00 2001 From: Martin Wighus Holtmon <martinwh@stud.ntnu.no> Date: Fri, 12 Nov 2021 10:58:07 +0100 Subject: [PATCH] projectPart2/Problem1: Fixed issue where main component did not update when clicking through the user list. --- .../src/photo-share/pages/user-detail/UserDetail.jsx | 5 +++++ .../src/photo-share/pages/user-photos/UserPhotos.jsx | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/projectSecondPart/src/photo-share/pages/user-detail/UserDetail.jsx b/projectSecondPart/src/photo-share/pages/user-detail/UserDetail.jsx index 31659db..5b986a1 100644 --- a/projectSecondPart/src/photo-share/pages/user-detail/UserDetail.jsx +++ b/projectSecondPart/src/photo-share/pages/user-detail/UserDetail.jsx @@ -17,6 +17,11 @@ class UserDetail extends React.Component { this.state = {userDetails: PROG2053Models.userModel(this.props.match.params.userId)}; } + componentDidUpdate(prevProps) { + if (this.props.match.params.userId !== prevProps.match.params.userId) { + this.setState({userDetails: PROG2053Models.userModel(this.props.match.params.userId)}); + } + } generateUserPreview = () => { const user = this.state.userDetails; diff --git a/projectSecondPart/src/photo-share/pages/user-photos/UserPhotos.jsx b/projectSecondPart/src/photo-share/pages/user-photos/UserPhotos.jsx index 265fb07..6e41697 100644 --- a/projectSecondPart/src/photo-share/pages/user-photos/UserPhotos.jsx +++ b/projectSecondPart/src/photo-share/pages/user-photos/UserPhotos.jsx @@ -15,6 +15,12 @@ class UserPhotos extends React.Component { this.state = {userPhotos: PROG2053Models.photoOfUserModel(this.props.match.params.userId)}; } + componentDidUpdate(prevProps) { + if (this.props.match.params.userId !== prevProps.match.params.userId) { + this.setState({userPhotos: PROG2053Models.photoOfUserModel(this.props.match.params.userId)}); + } + } + getAuthor = (user) => { if (user) { return <Link to={`/photo-share/users/${user._id}`}>{user.first_name} {user.last_name}</Link>; -- GitLab