score:2
Accepted answer
It looks like you're missing a check for changed props in your componentDidUpdate
. Try adding it:
componentDidUpdate(prevProps) {
let page = this.props.page;
if (prevProps.page !== page) {
switch (page) {
case "Home":
this.setState({
currentPage: < Home / >
})
break;
case "Schedule":
this.setState({
currentPage: < Schedule / >
})
break;
case "Experts":
this.setState({
currentPage: "Experts"
})
break;
case "Hotel":
this.setState({
currentPage: "Hotel"
})
break;
case "Register":
this.setState({
currentPage: "Register"
})
break;
case "Reviews":
this.setState({
currentPage: "Reviews"
})
break;
default:
this.setState({
currentPage: "Home"
})
}
}
}
Also to keep your method more DRY, you can call this.setState
only once:
componentDidUpdate(prevProps) {
let page = this.props.page;
if (prevProps.page !== page) {
let currentPage;
switch (page) {
case "Home":
currentPage = < Home / >
break;
case "Schedule":
currentPage = < Schedule / >
break;
case "Experts":
currentPage = "Experts"
break;
case "Hotel":
currentPage = "Hotel"
break;
case "Register":
currentPage = "Register"
break;
case "Reviews":
currentPage = "Reviews"
break;
default:
currentPage = "Home"
}
this.setState({currentPage});
}
}
score:0
You may call setState() immediately in componentDidUpdate() but note that it must be wrapped in a condition, or you’ll cause an infinite loop. So the solution of that is wrapping that part in a condition or using React-Router library for react routing as follows.
<ul className="nav navbar-nav">
<li><Link to="/Home">WHY ATTEND?</li>
<li><Link to="/Scheudle">SCHEDULE</li>
</ul>
ReactDOM.render(
<Router history={browserHistory}>
<Route path="/Home" component={Home} />
<Route path="/Schedule" component={Schudule} />
</Router>,
document.getElementById('root')
);
Source: stackoverflow.com
Related Query
- React warning Maximum update depth exceeded
- react - maximum update depth exceeded using react-table
- React js, Maximum update depth exceeded
- React - Invariant Violation: Maximum update depth exceeded
- React Maximum update depth exceeded error caused by useEffect only in test
- Maximum update depth Exceeded during React Easy Crop
- Maximum update depth exceeded in React Infinite Scroll
- React App Login Error : Maximum update depth exceeded
- React maximum update depth exceeded | useEffect dependencies
- React error: warning maximum update depth exceeded
- React setState inside componentDidUpdare leads to Maximum update depth exceeded
- Maximum update depth exceeded in React error
- RESOLVE : react error : Maximum update depth exceeded
- React Maximum update depth exceeded in functional component
- Error with React Stripe split card elements: Maximum update depth exceeded
- Maximum update depth exceeded - React Js
- React maximum update depth exceeded | useEffect with user from firebase
- React js Maximum update depth exceeded
- React Custom Hook produce warning: Maximum update depth exceeded
- Maximum update depth exceeded react
- React redirect causes error: Maximum update depth exceeded
- React question: Error: Maximum update depth exceeded
- React JS Hooks - Maximum update depth exceeded
- React error in console - Maximum update depth exceeded when input length is more than 5
- Maximum update depth exceeded with react context api
- React JSX: Maximum update depth exceeded
- Maximum update depth exceeded error in react app
- React Tutorial: Maximum update depth exceeded
- React Typescript with hooks : Maximum update depth exceeded error
- React : Maximum update depth exceeded
More Query from same tag
- React Websocket gets inactive after some time
- Typescript React; How to give type to JSS classes object
- get CSS from chrome dev tools as JavaScript object value
- Deploy dist folder to heroku
- React onSubmit only shows value on the next submit
- React router v4 render method refactor
- Google Map is taking up entire screen
- Stripe.js Client Side Import
- Add data to an existing user profile: React, Javascript, Firebase
- How to make React to ignore some folder files updates and don't recompile?
- react-bootstrap-table can't access sub object
- RHF not resetting values in an MUI checkbox group
- How to use React Native launch options parameter for RCTRootView
- React not updating property from an object inside an array
- Link retains underline even after text-decoration:none
- How to use this.executeAction("someAction") in function based Component?
- 【Next.js】dynamic head tags are not reflected
- React-router isActive method does not work
- State does not change back
- calling setState method with other statements
- Unit testing axios.mockImplementation calls keeps giving me unchanged state?
- How to use json-server | Getting 404 for local db.json
- React/Webpack - Migrate from webpack 1 to 4, "webpack.optimize.CommonsChunkPlugin"
- How to print a value inside a map returning from a function
- Changing Theme with Material ui V.5 - Compiling error Importing styles
- React Replacing Special Characters in CSS `content`
- Error while using Accordian in React-bootstrap
- React PWA - enforce update on click
- How to have right to left direction in react-bootstrap?
- Saga never transitions into next state despite yielding an action that is sent