草庐IT

reactjs-testutils

全部标签

javascript - typesafe 使用 reactjs 和 typescript 选择 onChange 事件

我已经想出如何使用丑陋的事件转换为any来将事件处理程序绑定(bind)到SELECT元素上。是否可以在不强制转换为any的情况下以类型安全的方式检索值?importReact=require('react');interfaceITestState{selectedValue:string;}exportclassTestextendsReact.Component{constructor(){super();this.state={selectedValue:"A"};}change(event:React.FormEvent){console.log("Test.change")

javascript - 如何滚动 div 使其在 ReactJS 中可见?

我有一个弹出列表,它是一个div,其中包含子div的垂直列表。我添加了上/下键盘导航来更改当前突出显示的子项。现在,如果我按下向下键的次数足够多,突出显示的元素将不再可见。如果ScrollView,向上键也会发生同样的事情。在React中自动将子div滚动到View中的正确方法是什么? 最佳答案 我假设您有某种List组件和某种Item组件。我的做法inoneproject是让该元素知道它是否处于事件状态;如有必要,该元素会要求列表将其滚动到View中。考虑以下伪代码:classListextendsReact.Component{

javascript - ReactJs - 创建一个 "If"组件……好主意吗?

我在React文档中读到“if”类​​型的语句不能在JSX代码中使用,因为JSX呈现为javascript的方式,它不会像人们期望的那样工作。但是有什么理由可以说明实现“if”组件不是一个好主意吗?从我最初的测试来看它似乎工作正常,这让我想知道为什么不经常这样做?我的部分意图是让React开发尽可能多地基于标记——使用尽可能少的javascript。对我来说,这种方法更像是一种“数据驱动”的方法。您可以checkitouthereonJSFiddle/**@jsxReact.DOM*/varIf=React.createClass({displayName:'If',render:fu

javascript - Reactjs - 正确设置内联样式

我正在尝试将Reactjs与剑道分离器一起使用。拆分器有一个样式属性,如style="height:100%"对于Reactjs,如果我理解正确的话,这可以使用内联样式来实现varstyle={height:100}但是,我也在使用DustinGetzjsxutil试图将事物分成更多部分并具有独立的html片段。到目前为止,我有以下html片段(splitter.html)Outersplitter:toppane(resizableandcollapsible){height}Innersplitter::leftpaneInnersplitter::centerpaneInners

javascript - 将 reactjs 与 requirejs 一起使用

最近,我开始使用reactjs和backbonejs路由器来构建应用程序。我通常使用requirejs来进行依赖和代码管理。但是,当我尝试包含包含jsx语法的文件时出现问题。这是我的router.js目前所拥有的:define(["backbone","react"],function(Backbone,React){varIndexComponent=React.createClass({render:function(){return(SomeStuffgoeshere);}});returnBackbone.Router.extend({routes:{"":"index"},i

javascript - ReactJS:setTimeout() 不工作?

牢记这段代码:varComponent=React.createClass({getInitialState:function(){return{position:0};},componentDidMount:function(){setTimeout(this.setState({position:1}),3000);},render:function(){return({this.state.position});}});ReactDOM.render(,document.getElementById('main'));状态不是应该在3秒后才改变吗?它正在立即改变。我的主要目标是每

javascript - 你如何在 ReactJS 中悬停? - 快速悬停期间未注册 onMouseLeave

当你做内联样式时,你如何在ReactJS中实现悬停事件或事件事件?我发现onMouseEnter、onMouseLeave方法有问题,所以希望有另一种方法可以做到这一点。具体来说,如果您将鼠标悬停在组件上的速度非常快,则只会注册onMouseEnter事件。onMouseLeave永远不会触发,因此无法更新状态......让组件看起来好像仍在悬停。如果您尝试模仿“:active”css伪类,我会注意到同样的事情。如果你点击得非常快,只有onMouseDown事件会被注册。onMouseUp事件将被忽略...使组件保持事件状态。这是一个显示问题的JSFiddle:https://jsfi

javascript - 调用多个函数 onClick ReactJS

我知道在vanillaJavaScript中,我们可以做到:onclick="f1();f2()"在ReactJS中进行两个函数调用onClick等价于什么?我知道调用一个函数是这样的:onClick={f1} 最佳答案 将您的两个以上的函数调用包装在另一个函数/方法中。以下是该想法的几个变体:1)分离法varTest=React.createClass({onClick:function(event){func1();func2();},render:function(){return(TestLink);}});或使用ES6类:

javascript - 在 reactJS 中,如何将文本复制到剪贴板?

我正在使用ReactJS,当用户单击链接时,我想将一些文本复制到剪贴板。我使用的是Chrome52,不需要支持任何其他浏览器。我不明白为什么这段代码没有导致数据被复制到剪贴板。(代码片段的来源来自Reddit帖子)。我做错了吗?谁能建议是否有使用reactjs实现复制到剪贴板的“正确”方法?copyToClipboard=(text)=>{console.log('text',text)vartextField=document.createElement('textarea')textField.innerText=textdocument.body.appendChild(text

javascript - 如何在 Reactjs 的 react-router-dom 版本 5 中使用重定向

我正在使用最新版本的react-router模块,名为react-router-dom,它已成为使用React开发Web应用程序时的默认设置。我想知道如何在POST请求后进行重定向。我一直在制作这段代码,但是在请求之后,没有任何反应。我在网上查看,但所有数据都是关于reactrouter的以前版本的,并且没有上次更新。代码:importReact,{PropTypes}from'react';importReactDOMfrom'react-dom';import{BrowserRouter}from'react-router-dom';import{Redirect}from'rea