草庐IT

Reactjs-setState

全部标签

javascript - ReactJS + 终极版 : How to structure action creators down to each component?

我有一个名为App.js的父组件:...render(){return({React.cloneElement(this.props.children,this.props})}...functionmapDispatchToProps(dispatch){return(actions:bindActionCreators(actions,)}exportdefaultconnect(...,mapDispatchToProps)(App)并且Prop将传递给每个组件。我想让每个组件都有它的actioncreators文件,但是我怎样才能将所有actioncreators绑定(bind

javascript - 如何在 ReactJS 中指定 null prop 类型?

我在ReactJS组件上有一个prop,它要么是null要么是一个ImmutableMap。如果我写在我的小部件的底部:MyComponent.propTypes={myMap:React.PropTypes.instanceOf(Immutable.Map)};我将其保留为null、undefined或Map的可能性。我怎样才能使它成为必需的并且类型为null或仅映射?https://facebook.github.io/react/docs/typechecking-with-proptypes.html我看到了这个例子,但我不知道如何根据我的需要调整语法,或者是否可能。编辑:如果

javascript - 如何使用 ReactJS 通过 Material UI Dialog 提交表单

我使用MaterialUI对话框制作了一个表单列表。官方案例:Thisdialogspanstheentirewidthofthescreen.Action是:constactions=[,,];如何构建表单并让Dialog可以提交我的表单数据?---------------------------------------------更新--------------------------------------------还有一个答案:在Dialogactions按钮中添加type和form属性:constactions=[,,];并在对话框中为表单提供属性id://herecanp

javascript - 如何显示/隐藏 ReactJS 组件

尝试学习ReactJS..但令我困惑的是组件的渲染。我见过的每个例子都定义了一个React组件类,最后有类似的东西:React.renderComponent(,document.getElementById('comp'));我知道它用我的组件替换了“comp”元素。这太棒了。但似乎如果我加载20个组件,所有20个组件都会渲染。但是,我只想渲染一些而不是全部,而是在整个SPA中使用全部。我正在使用DirectorJS路由器,并且根据用户是否登录和/或转到某些链接,我只想显示一个或多个组件。我似乎找不到任何关于如何动态管理显示或隐藏react组件的信息/示例/教程。更重要的是,我真正想

javascript - 如何在 reactjs 中管理树组件中的状态

我已经为此苦苦挣扎了几天,试图找出“react”方式来做到这一点。基本上,我有一个树,一个可以任意嵌套的列表列表(列表......),我想要一个组件来显示它并启用重新排列。这是我的数据:vardata=[{id:1},{id:2,children:[{id:3,children:[{id:6}]},{id:4},{id:5}]}]我的第一个步骤是只有一个“树”组件,它在其呈现函数(lookatthecodehere)中构建DOM元素的嵌套列表。这实际上对于少量元素非常有效,但我希望能够支持数百个元素,并且当一个元素在树中移动时重新渲染成本非常高(大约600毫秒,当有几百个元素)。所以我

javascript - 在 ReactJS 中将包装器组件作为 props 传递

我正在尝试将包装器组件作为Prop传递。在React中这样的技术在技术上可行吗?importReact,{Component,PropTypes}from'react';importChildCompfrom'./child-comp';classCompextendsComponent{render(){const{Wrapper}=this.props;return();}}Comp.propTypes={};exportdefaultComp; 最佳答案 是的,这是完全可能的,而且很常用。唯一的问题是,作为约定,在JSX中大写

javascript - react 。 this.setState 不是 setTimeout 中的函数

这个问题在这里已经有了答案:Howtoaccessthecorrect`this`insideacallback(13个答案)关闭5年前。当前组件的state.breaker值为false。当滚动事件被捕获时,它会查看state,如果它的false它会做一些事情。我希望在Action再次发生之前有某种静态延迟,这就是为什么在goTo函数中将state.breaker设置为true并将在接下来的2s中阻止当前方法的进一步逻辑,直到setTimeout返回到false。但目前UncaughtTypeError:this.setStateisnotafunction当setState在设置超

javascript - 从另一个文件导入 ReactJS 组件?

我是React的新手。想要在单独的文件中使用小组件开发应用程序并将它们导入我的App.js我试过了,但无法弄清楚我做错了什么。这是我的html:App这是我的App.js:(来自js/目录)importMyCompfrom'components/MyComp';classAppextendsReact.Component{render(){return()}}ReactDOM.render(,document.body);这是我的MyComp.js(来自js/components/目录)classMyCompextendsReact.Component{render(){return(

javascript - Reactjs:文档未定义

我有一个非常简单的React项目设置:├──app.js├──components│  ├──MainWrapper.js│  └──html.js├──package.json└──server.js应用程序由以下人员启动:nodeserver.js它使用快速服务器并为html.js中的HtmlComponent呈现标记:importReactfrom'react';importMainWrapperfrom'./MainWrapper.js'classHtmlComponentextendsReact.Component{render(){return(MyAwesomeSite)

javascript - 我如何通过 ReactJS 中的对象进行映射?

我有这样的回应:我想在这个HTML中显示每个对象的名称:{subjects.map((item,i)=>({item.name}))}但它会抛出错误subjects.mapisnotafunction。首先,我必须定义对象的键,它会在其中创建一个键数组,我想在其中循环并显示subject.names。我也尝试过的是:{Object.keys(subjects).map((item,i)=>(key:{i}Name:{subjects[i]}))} 最佳答案 当调用Object.keys时,它返回对象键的数组。Object.keys(