在React中,动态组件是指根据某些条件渲染不同的组件。setState
是React中用于更新组件状态的方法。通过改变状态,可以触发组件的重新渲染,从而实现动态组件的切换。
setState
后组件没有重新渲染?原因:
setState
是异步的,可能在调用后立即检查状态时,状态还没有更新。解决方法:
forceUpdate
(不推荐):forceUpdate
(不推荐):原因:
解决方法:
import React, { Component } from 'react';
import UserProfile from './UserProfile';
import LoginScreen from './LoginScreen';
class App extends Component {
constructor(props) {
super(props);
this.state = {
isLoggedIn: false
};
}
handleLogin = () => {
this.setState({ isLoggedIn: true });
};
render() {
return (
<div>
{this.state.isLoggedIn ? <UserProfile /> : <LoginScreen onLogin={this.handleLogin} />}
</div>
);
}
}
export default App;
希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云