【发布时间】:2018-09-22 15:52:41
【问题描述】:
我正在尝试在 AccountItem.js 内部进行 fetch api 调用,如下所示:
componentDidMount() {
// I am calling console.log("item mounted"); here
var url = "myurl" + this.props.portalId;
fetch(url)
.then(res => res.json())
.then(data => this.setState({account: data.Items}));
}
然后在我的Home.js 中呈现:
componentDidMount() {
console.log("home mounted");
}
render() {
return (
<div>
Account Dashboard
<AccountItem portalId={this.props.portalId}/>
</div>
);
}
}
我正在将我的 fetch 记录到控制台中,它被调用了 3 次。流程是我在登录页面(加载时安装一次),我登录将我重定向到本身呈现的主页。此时在我的控制台中,我看到:
Login mounted // initial load, now I click login
Login mounted // Renders again then redirects to homepage
Item mounted
Home mounted
Item mounted
Home mounted
Item mounted // Why is this happening 3 times?
我是新手,如果您需要更多信息,请告诉我。
【问题讨论】:
-
你是在使用外部状态库还是别的什么?
-
@Li357 不,我不是
-
@Apolozeus 检查了那个问题。我没有在我的
Home或AccountItem中生成任何密钥。任何其他想法可能是什么原因? -
你能显示你在哪里写控制台日志
标签: javascript reactjs react-props