草庐IT

custom_hooks

全部标签

javascript - 我们如何使用 React Hooks 实现 componentWillUnmount?

方法componentWillUnmount()在组件被卸载和销毁之前立即被调用。如果我们使用带有空数组([])作为第二个参数的useEffect并将我们的函数放在return语句中,它将在组件卸载后执行,甚至在安装另一个组件后执行。据我了解,这样做是出于性能原因。为了不延迟渲染。所以问题是-我们如何在卸载组件之前使用钩子(Hook)调用一些函数?我想做的是一个应用程序,它可以在用户键入时保存他的输入(无需提交表单)。我使用setInterval每N秒保存一次更新的文本。我需要在卸载组件之前强制保存更新。我不想在导航之前通过react路由器使用提示。这是一个电子申请。我很感激任何有关如

javascript - 我如何使用 Angular Hook 点击链接,并在点击完成之前添加 href?

上下文:当用户点击链接时,我需要从服务器获取URL。事前不能使用。单击链接应该会正常工作,但使用的是获取的URL。过程如下:链接在被点击前包含href="#"链接被点击我使用ng-mousedown或ng-clickHook点击,并使用$http请求从服务器获取URL.链接的href使用URL更新。原始点击应该完成(使用新的url,而不是#占位符)。问题出在最后一步。由于$http请求是异步的,我怀疑存在计时问题。我的怀疑是:如果服务器请求足够快,它会通过,并且在原始点击通过之前更改了URL。如果没有,则原始点击会通过并尝试转到#占位符URL。所以点击链接时什么也不会发生。我想让原始点

javascript - 在 beforeRemote 远程 Hook 中添加过滤器

我有一个问题,我无法在Loopback的文档中找到答案。假设我有一个模型Company和一个模型Employee。Company与其Employees之间存在1Xn关系。当调用/api/Employees时,服务器返回所有员工。我只想返回与请求列表的用户在同一家公司的员工列表。为此,我创建了一个远程钩子(Hook)Employee.beforeRemote('find',function(context,modelInstance,next){varreject=function(){process.nextTick(function(){next(null,false);});};/

javascript - Uncaught Error : Rendered fewer hooks than expected. 这可能是React Hooks中意外提前返回语句导致的

给定以下组件,当我按下年龄选择器并将值更改为15时,我呈现了一个没有驾驶执照字段的表单,我收到错误:UncaughtError:Renderedfewerhooksthanexpected.Thismaybecausedbyanaccidentalearlyreturnstatement.atinvariant(react-dom.development.js:55)atfinishHooks(react-dom.development.js:11581)atupdateFunctionComponent(react-dom.development.js:14262)atbeginWo

javascript - 如何在 React 中使用钩子(Hook)绑定(bind)函数?

基本上我们在构造函数中绑定(bind)事件处理函数,或者像下面这样在React类组件中将它们作为箭头函数classTestextendsComponent{constructor(props){super(props);this.state={count:0};this.setCount=this.setCount.bind(this);}setCount(){this.setState({count:this.state.count+1});}render(){returnIncrease}}但是在Reactv16.7.0中引入hooks之后,类组件变成了具有状态的功能组件。那么如何

javascript - react Hook : dispatch action from useEffect

我的文件夹结构:|--App|--Components|--PageA.js|--PageB.js|--PageC.js|--common-effects|--useFetching.js我正在重构我的代码以使用Reacthooks从API获取数据.我想从useFetching.js中的useEffect发送一个被saga中间件拦截的Action。仅当组件(PageA、PageB、PageC)挂载时才应分派(dispatch)此操作。我正在使用redux、react-redux和redux-saga。PageA.js:function(props){useFetching(action

javascript - 在 "Actions must be plain objects. Use custom middleware for async actions."中使用 Jest 模拟结果

我有几个Redux-Thunk风格的函数,可以在一个文件中分派(dispatch)其他操作。其中一个Action将另一个作为其逻辑的一部分进行分派(dispatch)。它看起来类似于:exportconstfunctionToMock=()=>async(dispatch)=>{awaitdispatch({type:'abasicaction'});};exportconstfunctionToTest=()=>async(dispatch)=>{dispatch(functionToMock());};在我实际遇到的情况下,这些函数都涉及更多,并且每个都分派(dispatch)多个

javascript - 无法读取 setInterval 中的最新状态变量( Hook )

这个问题在这里已经有了答案:StatenotupdatingwhenusingReactstatehookwithinsetInterval(14个答案)关闭3年前。我想这是因为JS的工作原理,但我想你不会对类有这个问题。在这段代码中:let[open,setOpen]=React.useState(false);let[counter,setCounter]=React.useState(0);functionhandleClick(){setOpen(true);setInterval(()=>{console.log(counter);setCounter(counter+1);

javascript - MEANJS 样板文件 : where to include custom javascript files?

我开始使用MeanJS样板文件(refwebsite)并想知道推荐的地方在哪里包含公共(public)自定义javascript、jQuery文件(例如FacebookSDK、jQuery动画,...)。我假设它将位于公用文件夹中的某个位置。默认结构如下:它应该放在modules还是lib文件夹中?您能否就每个文件夹的功能提供更多指导?有什么指导方针吗? 最佳答案 这是一篇关于Angular应用程序文件夹结构的精彩文章:https://scotch.io/tutorials/angularjs-best-practices-dire

javascript - Chrome 开发工具 : save custom geolocation in Dev Tools Presets

我在Chrome上使用开发者工具来测试我的javascript应用程序。但是,您是否知道在Chrome开发工具(Mac上为ALT+MAJ+I)>控制台>更多(...)>传感器>地理定位中更改和保存地理位置预设?感谢您的帮助。 最佳答案 唉,截至2017年6月,此功能尚未实现。但是有一个针对这个确切功能的功能请求=>https://bugs.chromium.org/p/chromium/issues/detail?id=649657获得所需内容的最佳方法是:使用Google帐户登录。访问featurerequestlink.点击问题