为了账号安全,请及时绑定邮箱和手机立即绑定

点击更换dark主题之后,只会闪一下,又变回light主题

theme-context.js

import React from 'react'const ThemeContext = React.createContext()export default ThemeContext

themebar.js

import React from 'react'import ThemeContext from '../theme-context'const ThemeBar = () => {	return (		<ThemeContext.Consumer>           {           	theme=>{           		return(                      <div className="alert mt-5" style={{backgroundColor:theme.bgColor,color:theme.color}}>                        StyleSheet Section                        <button className={theme.classnames}>submit</button>                      </div>           			)           	}           }         </ThemeContext.Consumer>	)}export default ThemeBar

app.js

const themes = {  light: {    classnames: 'btn btn-primary',    bgColor: '#eeeeee',    color: '#000'  },  dark: {    classnames: "btn btn-light",    bgColor: "#222222",    color: "#fff"  }}class App extends Component {  constructor(props) {    super(props)    this.state = {      theme: 'light'    }    this.changeTheme = this.changeTheme.bind(this)
changeTheme(theme) {    this.setState({      theme,    })  }  render() {    return (      <ThemeContext.Provider value={themes[this.state.theme]}>      <div className="App">        <header>           <a href="theme-switcher" className="btn btn-light" onClick={()=>{this.changeTheme('light')}}>Light</a>           <a href="theme-switcher" className="btn btn-secondary" onClick={()=>{this.changeTheme('dark')}}>Dark</a>        </header>        <ThemeBar />      </div>      </ThemeContext.Provider>    );  }}


正在回答

2 回答

<a href="theme-switcher" className="btn btn-light" onClick={()=>{this.changeTheme('light')}}>Light</a>           <a href="theme-switcher" className="btn btn-secondary" onClick={()=>{this.changeTheme('dark')}}>Dark</a> 

把下划线下的改成href="javascript:;"应该就不会刷新页面了

0 回复 有任何疑惑可以回复我~
#1

奋斗的乐儿

href="#" 我试了一下这样也可以
2018-11-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

点击更换dark主题之后,只会闪一下,又变回light主题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信