jjzjj

react-hooks

全部标签

javascript - 如何使用 react Hook 动态添加 "refs"?

所以我有一个数据数组,我正在生成一个包含该数据的组件列表。我想在每个生成的元素上有一个ref来计算高度。我知道如何使用Class组件来完成,但我想使用ReactHooks来完成。这是一个解释我想做什么的例子:importReact,{useState,useCallback}from'react'constdata=[{text:'test1'},{text:'test2'}]constComponent=()=>{const[height,setHeight]=useState(0);constmeasuredRef=useCallback(node=>{if(node!==null

javascript - React 箭头函数组件 - setState 未定义

我正在尝试在箭头函数组件中设置状态,但出现错误“未定义设置状态”。我尝试使用setState({selectedSlot})和this.setState({selectedSlot})在handleChange中设置状态,但没有任何效果。constAddAssetActivity=props=>{let{variations,slots,priceStructure}=props;letstate={selectedSlot:{"0":"00","1":"11"},cal:1};lethandleChange=(event,value)=>{letselectedSlot=state.

javascript - 使用 Javascript 捕获 react 时间,准确性问题

我正在构建一个点探测任务(人们必须在图像消失后对一个点做出快速react),我们需要测量react时间并显示预定义时间间隔内的刺激,以便在在线治疗研究中使用。我们已经决定使用Javascript,我们愿意对用户施加一些限制,即排除IE等。不过我们不能完全禁止Windows。我读了JohnResig'spost关于这个话题,根据这个,我们将不得不禁止Windows上的所有浏览器,除了Firefox和Chrome。另外thisanswer建议使用console.time();作为FF和Chrome的最佳实践。我有一些后续问题,考虑到Resig的帖子现在已有4年历史,并且上面的问题是关于测量

javascript - Hook Google Map API 中的鼠标滚轮事件

是否可以挂接到GoogleMapAPI中的鼠标滚轮事件?无需赘述,我需要鼠标滚轮像在Googlemap中一样进行缩放,但我还需要附加到鼠标滚轮事件以用于其他目的。但是每当我在MapOptions中将scrollwheel设置为true时,GoogleMapAPI就会吃掉所有鼠标滚轮事件并拒绝共享它们(你不觉得很self中心吗?)!收听像zoom_changed这样的Googlemap事件将不起作用,因为如果map处于最小或最大缩放级别,它们不会触发,这是我需要的。更具体地说,我需要知道用户是否在已经处于最大缩放级别时尝试拉近距离。这“感觉”是可以解决的,但我的直觉并不总是正确的:-)有

javascript - jsx --watch 将 jsx 语法转换为小写 "react"而不是大写 "React"

我在这里松散地关注facebooksReact教程,http://facebook.github.io/react/docs/getting-started.html,但我将其应用于不同的html文件。这是我的html文件,基于React入门工具包:HelloReact我安装了react-tools,现在当我运行“jsx--watchsrc/build/”它正在转换这个片段:varCommentBox=React.createClass({render:function(){return(Hello,world!IamaCommentBox.);}});React.renderComp

javascript - react .js : data not getting populated

我正在React.js网站上做教程。这是我的代码:HelloReact/***@jsxReact.DOM*///Theabovedeclarationmustremainintactatthetopofthescript.//YourcodeherevarcommentsData=[{author:"PeteHunt",text:"Thisisonecomment"},{author:"JordanWalke",text:"Thisis*another*comment"}];varCommmentBox=React.createClass({getInitialState:functi

javascript - 使用 React.JS 检索和缓存 SVG 节点边界框​​的最佳方法

我正在渲染带有标签的SVG组件。这些标签组件需要根据它们的文本内容(以及它们的大小)正确布局,以避免相互重叠。要获得每个标签的真实大小,似乎每次更新标签内容时都需要双重渲染。在标签组件级别,我需要第一次渲染检索真实SVGDOM节点的边界框出于性能原因缓存边界框重新渲染组件以根据其缓存的边界框调整标签位置然后,在每次重绘时:根据缓存的边界框渲染比较之前和更新的props之间的标签内容,如果有变化:更新并缓存标签边界框根据更新和缓存的边界框重新渲染到目前为止,这是我实现标签组件的方式:varLabel=React.createClass({updateBBox:function(){//T

javascript - React.addons.batchedUpdates API 的用途是什么?

Reactv0.12发布公告包括以下内容:NewFeatures:*React.addons.batchedUpdatesaddedtoAPIforhookingintoupdatecycle但是我找不到此API的任何文档。它的用途是什么?具体来说,它是否有可能与Ember.run()等效? 最佳答案 当响应onClick等综合事件时,组件状态更改是批处理的,因此对同一组件多次调用this.setState只会导致一次渲染。如果您正在更改状态以响应其他一些异步回调(例如AJAX或setTimeout),那么每次调用this.setS

javascript - React JS this.props.data 未在子组件的 getInitialState 中定义,即使它是在渲染中定义的(并且在父级中定义)

场景:在同一个祖父包装器(->)中重用组件(->)以实现代码重用。首先,我分配了一个数据数组并循环以重新使用子组件(->)。对于第二个,它只是一个对象(具有与数组对象相同的属性),我直接在渲染中分配它(不需要this.props.data.map循环,因为已经只有一个对象)。问题:对于阵列,一切都按要求工作。this.props.data传递给child,状态通过各种事件更新,一切都很好。然而,对于单个对象,在之前一切正常.即使this.props.data包含有效值并正确分配给child组件,在的getInitialState,它莫名其妙地未定义(或设置为的getInitialSta

javascript - react 组件的正确命名规范

我正在尝试为React.js应用程序中的组件找到最佳命名约定。这就是我目前一直在做的......假设我有一个searchBar组件,我想在我的table组件中呈现它。search-bar.jsvarReact=require('react');varSearchBar=React.createClass({/*codeforsearchcomponent*/});module.exports=SearchBar;table.jsvarReact=require('react');varSearchBar=require('search-bar');varTable=React.crea