草庐IT

react组件实例属性state

全部标签

javascript - React-testing-library:因输入而改变

我正在尝试测试组件是否会因输入元素的更改而更新。我使用fireEvent.change()函数,如果我随后检查我使用getByPlaceholderText找到的节点的值,它已按预期更新。但是我看不到react组件本身的变化。这可能是因为更改直到重新渲染才会发生;我将如何测试这个?react-testing-library的rerender似乎“从头开始”启动组件(即没有新的输入值),并且waitForElement永远找不到它在等待什么。这是组件TestForm.js:importReactfrom'react';import{withState}from'recompose';co

javascript - 使用 <img> 为 markdown gatsbyjs 创建自定义组件

我正在尝试为我的markdown创建一个接受图像源的自定义组件。我无法通过自定义组件显示图像,因为找不到图像,因为它不存在我也意识到图像路径是由GatsbyJS生成的,我不知道如何在Markdown中检索图像的路径。我确实有一个包含一些文本的自定义组件,但我无法为图像做同样的事情。这是一个带有标题和几个词的简单Markdown。索引.md---title:ToDoApp---Hithisismytodoappapp.Belowisabunchofscreens![ImagefromGyazo](./screen1.png)我创建了一个名为imageholder的自定义组件,它在显示图像

javascript - react : Prevent scroll when modal is open

我有一个自定义模态组件。当它打开时,后台没有任何滚动。我试过下面这段代码:componentDidMount(){document.body.style.overflow='hidden';}componentWillUnmount(){document.body.style.overflow='unset';}一开始似乎可行,但是当我使用模态组件时,在另一个页面中,即使模态关闭也没有滚动。有更好的解决方案吗?我的模态组件:exportclassModalextendsReact.Component{constructor(props){super(props);}componentD

javascript - 了解异步 React 渲染

我刚开始学习React,我想知道为什么下面的代码不能按预期工作。我以为它会显示Thenumbers:0123但它只显示0。我也对基于类的组件使用了相同的方法,并使用了钩子(Hook),但我仍然得到相同的结果。我对使用异步代码进行react渲染有什么不理解的?importReactfrom"react";importReactDOMfrom"react-dom";functionApp(){letnumbers=[0];fetch("some.url").then(res=>res.json()).then(list=>{for(letnoflist){numbers.push(n);}

javascript - 使用键插值和解构从状态对象中删除属性

当我尝试根据foo变量的值从状态对象中删除一个属性时...const[state,setState]=useState(initialState);...const{[foo],...newState}=state;setState({newState});我遇到了这个SyntaxErrorParsingerror:Unexpectedtoken,//theoneafter[foo] 最佳答案 您不能像那样解构动态键,并且使用丢失的键更新状态将使该键保持不变,因此它不会从状态中删除。您可以将状态变量设置为undefined以将其从状

javascript - 按属性对三个不同的对象数组进行排序

我有三个不同的对象数组,我需要对Date字段进行排序,其中每个组中的字段具有不同的名称。下面是我的数据示例:constdocuments=[{documentId:'ADB0125A',fileName:'test_2018.pdf',date':'2017-12-02T19:08:52+01:00'//Fieldtosortby},{documentId:'123456',fileName:'test2_2018.pdf',date':'2017-12-12T22:08:52+01:00'//Fieldtosortby},{documentId:'121212',fileName:'

javascript - React 中的嵌套键属性要求

我理解在使用组件数组时,key属性被假定为数组的索引,并且应该明确设置。是否建议明确设置那些child的child?{arr.map(item,i)=>{} 最佳答案 KeyshelpReactidentifywhichitemshavechanged,areadded,orareremoved.Keysshouldbegiventotheelementsinsidethearraytogivetheelementsastableidentity(source)key的一般目的是优化React的渲染性能。如果你有一个项目列表,给一个

javascript - 在 react 中添加样式属性

在react中,有这个:return({variable?hello:world})如您所见,我正在执行一个三元运算符以根据变量输出内容。我想在p标签中添加style属性,如下所示:hello但它不起作用。我也试过:我做错了什么? 最佳答案 不是font-weight而是fontWeight,需要使用camelCase表示法RefThestyleattributeacceptsaJavaScriptobjectwithcamelCasedpropertiesratherthanaCSSstring.根据评论更新您的示例代码中存在逻辑

javascript - 是否可以在 Javascript 对象上定义 'global' getter/setter 方法,以便在获取/设置任何属性时调用它?

假设我们有一个对象:constobj={foo:bar,boop:"beep",}现在我想添加一些功能,该功能会在任何在此对象中设置属性(实际上也为此事获取)时发生。让我们保持简单,假设添加的功能只是一个console.log("aset/getactionwasjusttriggeredonobj!")。我怎样才能做到这一点?高级扩展:命名设置的属性和设置的值。为清楚起见,一些示例行为://simple:obj.foo="notbaranymore!";//consoleoutput:aset/getactionwasjusttriggeredonobj!obj.rand="aran

javascript - 在 DOM 中可以使用 .notation 来获取/设置属性吗?

在DOM中,可以这样引用元素的属性吗:varuniverse=document.getElementById('universe');universe.origin='big_bang';universe.creator=null;universe.style.deterministic=true;?我对物体及其隐私的深深尊重,以及如果我不小心,事情可能会变得非常糟糕的感觉,让我想做更多这样的事情:varuniverse=document.getElementById('universe');if(universe.hasAttribute('origin'))thenuniverse