我有一个像这样呈现的React.js组件:
<Social email={this.state.email} />;
页面上有一些事件会更新this.state.email
,结果是经过渲染,这会将新的email
prop 发送到Social
组件。
在此Social
组件中,我正在侦听这样的更新:
componentWillReceiveProps: function(nextProps) {
console.log('received props update', nextProps.email);
this.doSomeWork();
}
该控制台行被渲染两次,这使UI两次闪烁,同时调用社交网络。
我总是可以做这样的事情:
if (nextProps.email != this.props.email) {
this.doSomeWork();
}
但是感觉有点…
是否会出现双重消息?如果是这样,好奇为什么?
如果没有,找到并消除它的最佳方法是什么?
您的Social
组件可能被渲染两次,因为setState
在父组件上被调用了两次。它可能设置了其他属性,email
但您的render函数被调用,因此Social
组件将渲染两次。
您可以shouldComponentUpdate
在Social
组件中实现方法以防止第二次渲染:
shouldComponentUpdate: function(nextProps, nextState) {
return nextProps.email != this.props.email;
}
当我转到<代码>/银行/1我看到了预期的账户信息。很好,很好。 当我转到<代码>/银行/1/description我看到了描述(好),但我也看到了帐户信息(不好)。 我习惯了Spring的,如果多个路径匹配,事情就会中断——但即便如此,AFAIK,在我的代码中,无论如何只有一个应该匹配? 银行。Java语言 帐户ction.java 日志输出:
我有一个React.js组件,它被渲染成这样: 页面上有一些事件更新了此。状态电子邮件,因此,执行render,它会向组件发送一封新的道具。 在这个组件中,我正在监听这样的更新: 控制台行被渲染两次,这使得UI在调用社交网络时闪烁两次。 我总是可以做这样的事情: 但是感觉有点不舒服。。。 双重信息在意料之中吗?如果是这样,好奇为什么? 如果没有,追踪和消除它的最佳方法是什么?
嗨,我有下面的代码给了我奇怪的行为 按钮cont_btn是bootstrap 2模式上的一个按钮。它包含一个继续按钮和一个关闭按钮。 如果我选择close按钮或单击modal外部以将其取消,然后重新打开modal,则函数将被调用两次。 我试过使用 并且我在 click不会被调用两次。在调试期间,我发现脚本重新进入 在页面加载中,我看到 但代码没有进入函数,它将跳到关闭按钮。我想这是正在初始化的两个
我读在初始渲染时只被调用一次,但我看到它被渲染了多次。 似乎我创建了一个递归循环。 组件didMount调度动作来获取数据 一旦接收到数据,它就会触发成功操作,将数据存储在redux状态。 父反应组件连接到redux存储,并且具有mapStateToProps用于刚刚在上述步骤中更改的条目 父渲染子组件(通过变量编程选择) 子组件的组件didMount再次被调用 它消除了获取数据的操作 我想这就是
问题内容: 下面是我的部分代码,但我的问题很简单,当用户单击“我”时如何对我的函数说data-id =“ 1” ? 问题答案: 由于您已经在使用ES6- 在这里使用箭头功能可能会更干净一些:
问题内容: 我在Go中关注一个简单的Web服务器示例。 我插入了一条语句,使生成的代码如下所示: 问题是,每当我在Web浏览器中加载端口8000时,此函数就会被调用两次。这是一个问题,因为我打算在每次页面访问时增加一个计数器。通过这种行为,计数器将增加两次。OTOH,如果我这样做,它只会被调用一次。 我觉得我在这里失踪真的很愚蠢。 问题答案: 只需记录请求。您将意识到您的浏览器还请求/favico