草庐IT

react-state-management

全部标签

javascript - React.js 中可以有多个 <Switch> 吗?

我正在构建一个没有Redux的React项目。我希望有两个,或者在本例中有3个不同的开关当用户登录时,第一个开关将能够在主页(普通网站)和用户页面(仪表板)之间切换...然后每一个这也将是切换器,因此Home将在Home组件之间切换,而UserPage将在UserPage组件之间切换。这可能吗?MainSwitcherHomePage(Switch)DashboardHomeAboutContact,CareersMyProfile,Courses,Classes,Donations...这就是项目的外观和结构。 最佳答案 您可以根

javascript - react |如何检测页面刷新(F5)

我正在使用Reactjs.我需要检测页面刷新。当用户点击刷新图标或按F5时,我需要找出事件。我试过stackoverflowpost通过使用javascript函数我使用了javascript函数beforeunload仍然没有成功。onUnload(event){alert('pageRefreshed')}componentDidMount(){window.addEventListener("beforeunload",this.onUnload)}componentWillUnmount(){window.removeEventListener("beforeunload",t

javascript - 如何防止我的功能组件使用 React memo 或 React hooks 重新渲染?

当hiddenLogo改变值时,组件被重新渲染。我希望这个组件永不重新渲染,即使它的Prop改变了。使用类组件,我可以像这样实现sCU来做到这一点:shouldComponentUpdate(){returnfalse;}但是有没有办法处理Reacthooks/React备忘录?这是我的组件的样子:importReact,{useEffect}from'react';importPropTypesfrom'prop-types';importConnectedSpringLogofrom'../../containers/ConnectedSpringLogo';import{Wrap

javascript - 为什么 $state.go 在目标状态或其父级通过 promise 解析时不起作用

我尝试使用resolve在父状态上加载一些数据,并在应用程序运行时将用户重定向到默认状态:app.config(['$stateProvider','$urlRouterProvider',function($stateProvider,$urlRouterProvider){$stateProvider.state('home',{url:'/',template:'StartAppHomeOtherstateLoading...',resolve:{user:['$timeout','$q',function($timeout,$q){vardeferred=$q.defer();

javascript - 如何访问 JSON Object.$$state.value?

警告:我听起来好像不知道我在说什么,因为我有点不知道。我正在通过大量的试错编码自学Javascript和AngularJS。我有一些返回具有以下结构的对象的javascript代码(犹豫要不要复制到这里,因为它很乱):我要保存到变量中的是图中Object.$$state.value对应的对象。这个对象有用户名、散列和盐,这是我关心的。我不知道$$state等所有其他东西是什么,也不知道它们是如何到达那里的。但是,如果我这样做(让我们称主对象为“whatIHave”):varwhatIWant=whatIHave.$$state.value;这是行不通的。whatIWant为空。有人知道

javascript - ui-router - $state.go() 不工作

这是我项目的app.js:(function(){'usestrict';angular.module('app',['ui.router','ngCookies','angular-inview','ngMaterial']).config(config).run(run);config.$inject=['$stateProvider','$urlRouterProvider','$mdThemingProvider'];functionconfig($stateProvider,$urlRouterProvider,$mdThemingProvider){$mdThemingPr

javascript - 在 React Router 中渲染多个组件

我习惯于应用具有多个yield区域的布局,即内容区域和顶部栏标题。我想在ReactRouter中实现类似的东西。例如:应用布局:{--displayListTopBarhere--}{--displayListViewhere--}两个子组件应该接收相同的Prop。我该如何解决这个问题? 最佳答案 要传递多个组件,您可以这样做:请在此处查看文档:https://github.com/ReactTraining/react-router/blob/v3/docs/API.md#named-components

javascript - React : Given an array, 有效地以相反的顺序渲染元素

我目前以典型的React风格呈现列表。该列表作为数组属性传递,我像这样映射它:{this.props.myList.map(createListItem,this)}因此,当添加一个新元素时,它看起来像是最新的项目被添加到列表的末尾。我希望最新的项目出现在顶部。即一切都按时间倒序出现。到目前为止,我想到的两个选项是:1)反转列表,每次添加内容时创建一个新数组,并将这个反转列表作为prop传递。2)使用shift。但由于性能原因,它们都没有吸引力。我不知道Javascript支持倒序映射。我一直在尝试for循环,但一直无法让它工作。在React中以相反顺序呈现数组的惯用方法是什么?

javascript - 单元测试 react Action - browserHistory 未定义

我为我的行为编写测试,使用{browserHistory}from'react-router';当我运行测试时,导入的browserHistory由于未知原因未定义。因此,测试会抛出一个错误——“无法读取未定义的‘push’属性”;我不知道,为什么browserHistory未定义,如果它在我的应用程序中有效。有人可以帮助我吗? 最佳答案 我猜你没有使用karma或任何浏览器来运行你的测试。如果没有浏览器,对象browserHistory将是未定义的。您可能需要使用sinonstub您的浏览器历史记录。类似以下内容可能有帮助:imp

javascript - 如何在 React JS onSubmit 函数调用中传递第二个参数

代码如下importReactfrom"react";varnewForm=React.createClass({handleSubmit:function(e,text){e.preventDefault();console.log(text);},render:function(){return();})};module.exports=newForm;我想要实现的是当我提交表单时,我想要字符串“react!!!”在控制台中打印出来并防止默认事件同时发生。显然,将参数传递给“handleSubmit”函数会破坏代码。是否可以将onSubmit事件的参数传递给附加到该事件的函数?