Tag: reactjs

在摩卡testing中使用webpack别名

我正在React / Redux / Webpack中开发一个Web应用程序,现在我正在开始与Mocha集成testing。 我按照在Redux文档中编写testing的说明进行操作 ,但是现在我遇到了一个与我的webpack别名有关的问题。 例如,看看我的一个动作创build者的testing的import部分: import expect from 'expect' // resolves without an issue import * as actions from 'actions/app'; // can't resolve this alias import * as types from 'constants/actionTypes'; // can't resolve this alias describe('Actions', () => { describe('app',() => { it('should create an action with a successful connection', () […]

我如何滚动div在ReactJS中可见?

我有一个popup列表,这是一个包含子div的垂直列表的div 。 我已经添加了向上/向下的键盘导航,以更改当前突出显示哪个孩子。 现在,如果我按下向下键足够多的时间,突出显示的项目不再可见。 如果视图滚动,则向上键也会发生同样的情况。 React将子div自动滚动到视图中的正确方法是什么?

如何获取新数据以响应React路由器使用Redux进行更改?

我正在使用Redux,redux-router和reactjs。 我试图做一个应用程序,我获取路线变化的信息,所以,我有这样的: <Route path="/" component={App}> <Route path="artist" component={ArtistApp} /> <Route path="artist/:artistId" component={ArtistApp} /> </Route> 当有人进入artist/<artistId>我想search艺术家,然后呈现信息。 问题是,这样做的最好方法是什么? 我已经find了一些答案,使用RxJS或尝试一个中间件来pipe理请求。 现在,我的问题是,这是真正必要还是只是一种方法来保持体系结构的反应不可知论? 我可以直接从反应componentDidMount()和componentDidUpdate()获取我需要的信息吗? 现在我正在通过触发这些函数中的请求信息的操作来执行此操作,并且在信息到达时重新呈现组件。 该组件有一些让我知道的属性: { isFetching: true, entity : {} } 谢谢!

ReactJS将dynamic类添加到手动类名称

我需要将一个dynamic类添加到常规类的列表中,但不知道如何(我正在使用babel),如下所示: <div className="wrapper searchDiv {this.state.something}"> … </div> 有任何想法吗? 谢谢

如何在React的render()中包含Font Awesome图标

每当我尝试在React的render()中使用Font Awesome图标时,它就不会显示在生成的网页上,尽pipe它在普通的HTML中工作。 render: function() { return <div><i class="fa fa-spinner fa-spin">no spinner but why</i></div>; } 这里是一个生动的例子: http : //jsfiddle.net/pLWS3/ 故障在哪里?

Redux:如何做后端持久性的意见/例子?

我想知道如何使用Redux的人正在接近他们的后端持久性。 特别是,您是将“操作”存储在数据库中,还是只存储应用程序的最后一个已知状态? 如果您正在存储这些操作,那么您是从服务器请求它们,然后在给定页面加载时重播它们? 难道这不会导致一些性能问题与大规模的应用程序,有很多的行动? 如果你仅仅是存储“当前状态”,那么在客户的行为发生的情况下,你是如何坚持这个状态的? 有没有人有一些代码的例子,他们如何将redux减速器连接到后端存储apis? 我知道这是一个非常“取决于你的应用程序”types的问题,但是我只是在思考这里的一些想法,试图感受一下这种“无状态”架构如何在全栈意义上工作。 感谢大家。

从外部调用React组件方法

我想从React元素的实例中调用React组件公开的方法。 例如,在这个jsfiddle https://jsfiddle.net/r6r8cp3z/我想从HelloElement引用中调用alertMessage方法。 有没有办法实现这一点,而不必编写额外的包装? 编辑 (从JSFiddle复制代码) <div id="container"></div> <button onclick="onButtonClick()">Click me!</button> var onButtonClick = function () { //call alertMessage method from the reference of a React Element! Something like HelloElement.alertMessage() console.log("clicked!"); } var Hello = React.createClass({displayName: 'Hello', alertMessage: function() { alert(this.props.name); }, render: function() { return React.createElement("div", null, "Hello ", this.props.name); } }); var HelloElement […]

当使用React with Backbone时,我可以避免使用forceUpdate()吗?

Facebook React 鼓励你分离可变( state )和不可变( props )状态: 尽量保持尽可能多的组件无状态。 通过这样做,您可以将状态隔离为最合乎逻辑的位置,并最大限度地减less冗余,从而更容易推断您的应用程序。 当状态改变时,你应该调用setState来触发虚拟DOM差异,只有在需要时才会导致真正的DOM更新。 有一种方法可以通过调用forceUpdate手动触发DOM更新,但不鼓励 : 通常你应该尽量避免使用forceUpdate() ,只能从render() this.props和this.state中读取。 这使得您的应用程序更简单,更高效。 然而,我所看到的所有React + Backbone示例都忽略了这个build议 ,并且在props和调用forceUpdate存储模型和集合中forceUpdate : http://www.thomasboyt.com/2013/12/17/using-reactjs-as-a-backbone-view.html https://github.com/usepropeller/react.backbone/blob/master/react.backbone.js https://gist.github.com/ssorallen/7883081 http://eldar.djafarov.com/2013/11/reactjs-mixing-with-backbone/ 即使React自己的例子使用forceUpdate : https://github.com/facebook/react/blob/master/examples/todomvc-backbone/js/app.js#L148 有没有更好的方法,它会带来什么好处?

redux-thunk和redux-promise有什么区别?

据我所知,纠正我,如果我错了, redux-thunk是一个中间件,它可以帮助我们在动作本身调度asynchronous函数和debugging值,而当我使用了redux-promise时,我不能创buildasynchronous函数,而不实现我自己的机制作为Action引发只调度普通对象的exception。 这两个软件包的主要区别是什么? 在单个页面反应应用程序中使用这两个软件包还是有一些好处,或者坚持使用redux-thunk就足够了?

“历史logging”在“路由器”中被标记为需要,但其值为“未定义”。 在路由器

我是ReactJs的新手。 这是我的代码: var React = require('react'); var ReactDOM = require('react-dom'); var {Route, Router, IndexRoute, hashHistory} = require('react-router'); var Main = require('Main'); ReactDOM.render( <Router history={hashHistory}> <Route path="/" component={Main}></Route> </Router>, document.getElementById('app')); 并用webpack编译。 此外,我添加了主要组件到我的别名。 控制台会引发这些错误: 我也读了这些链接: 反应路由器失败的道具'历史',是未定义的 当值未定义时,如何解决历史logging被标记为必需的? 升级React-Router并用browserHistoryreplacehashHistory 并在网上search很多,但我无法解决这个问题。 React路由器是版本4