reactjs - 处理搜索点击将路由到 URL 和 redux 上的同时调度功能
问题描述
handleClick = () => {
const {providerName,googleAddress,planOption} = this.state;
let params = {}
params.providerName = providerName;
params.address = googleAddress;
params.planOption = planOption;
this.props.pcpSearch(params); //redux call disptach
let pathName = customerId ? `/providers/customers/${customerId}/list/` : `/providers/list/`;
this.props.history.push({
pathname: pathName
});
};
<Button onClick={this.handleClick}>Search</Button>
这里的按钮会点击很多次,但我只想在第一次点击时调用路由?是否有任何方法可以在单击按钮时仅进行一次呼叫路由,然后在后续单击时不导航到路由。
问候,
解决方案
您可以使用 state 来处理它是否被点击:
state = {
clicked: false
};
handleClick = () => {
const {providerName, googleAddress, planOption} = this.state;
const params = { providerName, address: googleAddress, planOption };
if (!this.state.clicked) {
this.props.pcpSearch(params); //redux call disptach
let pathName = customerId ? `/providers/customers/${customerId}/list/` : `/providers/list/`;
this.props.history.push({
pathname: pathName
});
} else {
this.setState({ clicked: true });
}
};
搜索
这现在应该只触发一次。
推荐阅读
- javascript - 在 Node JS 中仅使用包含数据的变量的正确方法是什么?
- android - OpenGL ES 纹理包装有时会产生奇怪的结果
- css - 在 CSS 网格中定义一个新行
- data-binding - extjs6 绑定标签可见性
- html - 为什么我无法打印 R Markdown 文档中的代码颜色?
- objective-c - 对于不支持 MTKView 的旧操作系统设备,如何继承 MTKView 并在 NSView/UIView 上回退?
- mkusertrackingmode - Restart MKUserTrackingMode.FollowWithHeading
- python - Django:理解超级保存功能的问题
- python - cv2.counterArea 在 OpenCV 4.0 中不再起作用
- python - Django如何建立家庭关系