Questions tagged «reactjs»

React(也称为React.js或ReactJS)是Facebook开发的用于构建用户界面的JavaScript库。它使用基于组件的声明式范例,旨在既高效又灵活。

7
如何获取React-Router v4的历史记录?
我从React-Router v3迁移到v4时遇到一些小问题。在v3中,我可以在任何地方执行此操作: import { browserHistory } from 'react-router'; browserHistory.push('/some/path'); 如何在v4中实现这一目标。 我知道withRouter当您在Component中时,可以使用hoc ,react上下文或事件路由器props。但对我而言并非如此。 我正在寻找v4中的NavigatingOutsideOfComponents的等效项

4
为什么在渲染时调用我的onClick?-React.js
我有一个已创建的组件: class Create extends Component { constructor(props) { super(props); } render() { var playlistDOM = this.renderPlaylists(this.props.playlists); return ( <div> {playlistDOM} </div> ) } activatePlaylist(playlistId) { debugger; } renderPlaylists(playlists) { return playlists.map(playlist => { return <div key={playlist.playlist_id} onClick={this.activatePlaylist(playlist.playlist_id)}>{playlist.playlist_name}</div> }); } } function mapStateToProps(state) { return { playlists: state.playlists } } export …

17
React.js:意外的令牌“ <”错误
我只是从Reactjs开始,正在编写一个简单的组件来显示 li标签并遇到此错误: 意外的令牌“ &lt;” 我在http://jsbin.com/UWOquRA/1/edit?html,js,console,output下面的jsbin中放置了示例 请让我知道我做错了。
99 reactjs 

4
如何在reactjs中访问悬停状态?
我和一群篮球队有过一次聚会。因此,当其中一个团队悬停时,我想为每个团队展示不同的内容。另外,我正在使用Reactjs,所以如果我有一个变量,可以将其传递给另一个很棒的组件。
99 hover  reactjs 

15
如何在React的render()中包括一个Font Awesome图标
每当我尝试在React的中使用Font Awesome图标时render(),尽管它可以在普通HTML中运行,但它不会显示在结果网页上。 render: function() { return &lt;div&gt;&lt;i class="fa fa-spinner fa-spin"&gt;no spinner but why&lt;/i&gt;&lt;/div&gt;; } 这是一个实时示例:http : //jsfiddle.net/pLWS3/ 哪里错了?

5
使用webpack从目录动态导入图像
因此,这是我当前通过ES6导入Webpack中的图像和图标的工作流程: import cat from './images/cat1.jpg' import cat2 from './images/cat2.svg' import doggy from './images/doggy.png' import turtle from './images/turtle.png' &lt;img src={doggy} /&gt; 这变得很快。这就是我想要的: import * from './images' &lt;img src={doggy} /&gt; &lt;img src={turtle} /&gt; 我觉得必须有某种方法可以动态地从特定目录中导入所有文件(不带扩展名),然后根据需要使用这些文件。 任何人都看过此事,或者对最佳解决方案有任何想法? 更新: 使用选择的答案,我能够做到这一点: function importAll(r) { let images = {}; r.keys().map((item, index) =&gt; { images[item.replace('./', '')] = r(item); …

26
React.createElement:类型无效-预期为字符串
试图使react-router(v4.0.0)和react-hot-loader(3.0.0-beta.6)正常播放,但是在浏览器控制台中出现以下错误: 警告:React.createElement:类型无效-预期为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。您可能忘记了从定义文件中导出组件。 index.js: import React from 'react'; import ReactDom from 'react-dom'; import routes from './routes.js'; require('jquery'); import 'bootstrap/dist/css/bootstrap.min.css'; import 'bootstrap/dist/js/bootstrap.min.js'; import './css/main.css'; const renderApp = (appRoutes) =&gt; { ReactDom.render(appRoutes, document.getElementById('root')); }; renderApp( routes() ); route.js: import React from 'react'; import { AppContainer } from 'react-hot-loader'; import { Router, Route, browserHistory, …

5
React onClick-通过事件传递参数
没有参数 function clickMe(e){ //e is the event } &lt;button onClick={this.clickMe}&gt;&lt;/button&gt; 带参数 function clickMe(parameter){ //how to get the "e" ? } &lt;button onClick={() =&gt; this.clickMe(someparameter)}&gt;&lt;/button&gt; 我想得到event。我怎么才能得到它?

4
从对象数组渲染React组件
我有一些称为站的数据,它是一个包含对象的数组。 stations : [ {call:'station one',frequency:'000'}, {call:'station two',frequency:'001'} ] 我想为每个数组位置渲染一个ui组件。到目前为止,我可以写 var stationsArr = [] for (var i = 0; i &lt; this.data.stations.length; i++) { stationsArr.push( &lt;div className="station"&gt; {this.data} &lt;/div&gt; ) } 然后渲染 render(){ return ( {stationsArr} ) } 问题是我要打印所有数据。相反,我只想显示一个像这样的键,{this.data.call}但是什么也不打印。 如何遍历此数据并为数组的每个位置返回一个新的UI元素?

11
如何在React Router中将DefaultRoute设置为另一个路由
我有以下内容: &lt;Route name="app" path="/" handler={App}&gt; &lt;Route name="dashboards" path="dashboards" handler={Dashboard}&gt; &lt;Route name="exploreDashboard" path="exploreDashboard" handler={ExploreDashboard} /&gt; &lt;Route name="searchDashboard" path="searchDashboard" handler={SearchDashboard} /&gt; &lt;DefaultRoute handler={DashboardExplain} /&gt; &lt;/Route&gt; &lt;DefaultRoute handler={SearchDashboard} /&gt; &lt;/Route&gt; 使用DefaultRoute时,由于任何* Dashboard需要在Dashboard中呈现,因此SearchDashboard呈现不正确。 我想在“应用”路由内将DefaultRoute指向路由“ searchDashboard”。这是我可以使用React Router进行的操作,还是应该为此使用常规Javascript(用于页面重定向)? 基本上,如果用户转到主页,我想将其发送给搜索仪表板。所以我想我正在寻找一个等效于React Router的功能window.location.replace("mygreathostname.com/#/dashboards/searchDashboard");

9
在React Native中使视图的父级宽度为80%
我正在React Native中创建一个表单,并希望使TextInput屏幕宽度达到80%。 使用HTML和普通CSS,这很简单: input { display: block; width: 80%; margin: auto; } 除了React Native不支持display属性,百分比宽度或自动边距。 那我该怎么办呢?有这个问题的一些讨论中作出反应原住民的问题跟踪器,但提出的解决方案似乎是讨厌的黑客。

6
&nbsp jsx无法正常工作
我在jsx中使用&nbsp标记,它没有呈现空间。以下是我的代码的一小段。请帮助。 var Reporting=React.createClass({ render: function(){ return( &lt;div style={divPositionReporting}&gt; &lt;p&gt;Pricing Reports&lt;/p&gt; &lt;hr&gt;&lt;/hr&gt; Select Scenario:&amp;nbsp;&amp;nbsp; &lt;select&gt; &lt;option&gt;&lt;/option&gt; &lt;/select&gt; &lt;button type="button"&gt;Get Pricing Report&lt;/button&gt; &lt;br/&gt; Select Takeout Scenario:&amp;nbsp; &lt;select&gt; &lt;option&gt;&lt;/option&gt; &lt;/select&gt; &lt;button type="button"&gt;Get Pricing Report&lt;/button&gt; &lt;br/&gt; &lt;/div&gt; ); }, });
98 html  reactjs  jsx 

4
改变React状态的首选方式是什么?
假设我有一个普通对象列表,this.state.list然后可以用来呈现子级列表。那么将对象插入其中的正确方法是什么this.state.list? 下面是我认为它将起作用的唯一方法,因为您不能this.state像文档中提到的那样直接更改。 this._list.push(newObject): this.setState({list: this._list}); 这对我来说似乎很丑。有没有更好的办法?

4
在React.js中设置onSubmit
在提交表单时,我正在尝试doSomething()取代默认的发布行为。 显然,在React中,onSubmit是表单支持的事件。但是,当我尝试以下代码时: var OnSubmitTest = React.createClass({ render: function() { doSomething = function(){ alert('it works!'); } return &lt;form onSubmit={doSomething}&gt; &lt;button&gt;Click me&lt;/button&gt; &lt;/form&gt;; } }); 该方法doSomething()已运行,但是此后仍执行默认的发布行为。 您可以在我的jsfiddle中进行测试。 我的问题:如何防止默认的发布行为?

18
React.js-重新呈现时输入失去焦点
我只是在写文本输入,onChange如果我打电话setState,那么React会重新渲染我的UI。问题是文本输入始终会失去焦点,因此我需要再次针对每个字母:D。 var EditorContainer = React.createClass({ componentDidMount: function () { $(this.getDOMNode()).slimScroll({height: this.props.height, distance: '4px', size: '8px'}); }, componentDidUpdate: function () { console.log("zde"); $(this.getDOMNode()).slimScroll({destroy: true}).slimScroll({height: 'auto', distance: '4px', size: '8px'}); }, changeSelectedComponentName: function (e) { //this.props.editor.selectedComponent.name = $(e.target).val(); this.props.editor.forceUpdate(); }, render: function () { var style = { height: this.props.height + 'px' …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.