【发布时间】:2021-02-16 10:36:08
【问题描述】:
我似乎不知道如何在消息更改时刷新弹出子组件。这是我的父元素代码的一部分:
dataFetching = (props) => {
fetch('https://desolate-harbor-55159.herokuapp.com/signin', {
method: 'post',
headers: {'Content-type': 'application/json'},
body: JSON.stringify({
email: this.state.signInEmail,
password: this.state.signInPassword
})
}).then(response => response.json())
.then(user => {
if (user.email === this.state.signInEmail) {
this.props.loadUser(user)
this.props.onRouteChange('home')
} else {
return (
this.changemessage('wrong credentials')
)
}
})
}
changemessage = (message) => {
this.setState({popupmessage: message})
}
render() {
return (
<div>
{this.state.popupstate
? <Popup popupmessage={this.state.popupmessage} togglePopup={this.togglePopup}/>
这是Popup子元素代码:
class Popup extends React.Component {
constructor (props) {
super(props);
this.state = {
togglepopup: this.props.tooglePopup,
popupmessage: this.props.popupmessage
}
}
tooglePopup = (value) => {
this.props.togglePopup(false)
}
render () {
return (
<div className='popup-box center w-20 br3 mt5 b--green b--solid' onClick={this.tooglePopup} >
{ <div className='tc'>
<h1>
{this.state.popupmessage}
</h1>
<p>click me</p>
</div>
}
</div>
)
}
}
我是新手,我已经在这里迷路了....
【问题讨论】:
标签: javascript reactjs state