Articles of reactjs

无法在React中find所需的模块

我正在浏览React的代码库,并且我注意到React的require在Nodejs中的performance不太像。 我不知道这是怎么回事 看ReactClass.js的第19行,有一个require('emptyObject') ,但是emptyObject没有在package.json中列出,也没有说在那个模块来自的地方。 https://github.com/facebook/react/blob/master/src/isomorphic/classic/class/ReactClass.js#L19 我确实在npmjs上find了“emptyObject” ,但是这里的API看起来与React中使用的不同; React中的.isEmpty grepped与emptyObject无关。 那么从哪里得到加载的emptyObject,以及React如何做require做的事情呢? 这不直观。 完全一样。

Symlinking与npm链接反应模块为本地开发提供了错误

在我的React npm模块的开发过程中,我将它与npm link 。 完成此操作后,程序包会正确链接,并显示在消费者应用程序node_modules 。 该模块公开一个接口来创build一个React组件。 因为我正在使用React , jsx和es2015 ,所以我使用babel在预发布阶段使用npm prepublish hook来传输我的模块代码。 但是,当我尝试使用webpack构build我的消费者应用程序时(即,在链接它之后),在我的包中出现错误,指出: 模块构build失败:错误:无法find预设“es2015” 现在有趣的是,如果我在npm上发布软件包,那么npm install从我的消费者应用程序的registry中npm install ,构build它,一切工作正常。 我尝试在我的消费者应用程序中安装babel-preset-es2015 ,但是却开始抱怨没有findbabel : 找不到模块:错误:无法parsing模块'babel' 再次,如果我从npmregistry安装它一切正常,在构build过程中不会引发错误。 我也尝试安装babel-core , babel-cli和babel-polyfill ,都无济于事。 我在任何地方都使用babel v6.1.x ,并意识到所有最近的变化,但是我想我错过了一些明显的东西,如果有人能够帮助我,我会很感激它,因为不断发布模块来testing东西的作品只是不好的做法。 为了完整起见,这里是代码: 模 消费者应用 以下是链接模块的步骤: cd ~/Sites/me/react-leafbox npm link cd ~/Sites/me/mapp npm link react-leafbox npm start build筑后堆积痕迹: ERROR in ../react-leafbox/lib/index.js Module build failed: Error: Couldn't […]

从ReadableStream对象中检索数据?

我如何从ReadableStream对象获取信息? 我正在使用Fetch API,而我从文档中看不到这一点。 正在作为一个ReadableStream返回正文,我只想访问此stream中的属性。 在浏览器开发工具的响应下,我似乎将这些信息以Javascript对象的forms组织到属性中。 fetch('http://192.168.5.6:2000/api/car', obj) .then((res) => { if(res.status == 200) { console.log("Success :" + res.statusText); //works just fine } else if(res.status == 400) { console.log(JSON.stringify(res.body.json()); //res.body is undefined. } return res.json(); }) 提前致谢。

反应unit testing在es6中开玩笑

我在反应世界很新,并试图写简单的朋友列表应用程序。 我用es6风格写了我的朋友商店,并使用babel作为从es5到es6的编译器。 import AppDispatcher from '../dispatcher/app_dispatcher'; import { EventEmitter } from 'events'; import FRIENDS_CONST from '../constants/friends'; const CHANGE_EVENT = 'CHANGE'; let friendsList = []; let add = (name) => { let counter = friendsList.length + 1; let newFriend = { id: counter, name: name }; friendsList.push(newFriend); } let remove = (id) => { let index […]

与Express私人路线反应

我主要使用服务器端渲染解决scheme将数据从服务器传递到客户端,并在浏览器中渲染。 这样做的一些主要好处包括能够获取数据并将其传递给客户端,而不会暴露公开的路由。 所以能够保持隐藏的数据,只有当我想要的时候才暴露。 我知道Facebook等其他应用程序只能通过其应用程序(iOS,Android,Web应用程序)接收数据,例如时间线数据不是公共路线,只能由自己的应用程序接收。 我如何使用React来实现这样的事情? 使用服务器端渲染,我可以locking这些函数/路由,只允许从后端代码调用它们,而不是暴露它们,我也可以做一些事情,比如检查以确保用户login等等。 我怎样才能实现这个与React?

我可以在没有nodejs服务器的情况下在客户端使用webpack吗?

我试图build立一个Web应用程序,我想在亚马逊S3上存储所有的HTML,JS和CSS文件,并通过API与一个宁静的服务器通信。 我试图实现延迟加载,也许路由与反应路由器。 看来,webpack有这个function代码分裂,将延迟加载类似的工作。 但是,我发现的所有教程和示例都涉及webpack-dev-server,它是一个小型节点快速服务器。 无论如何,我可以在构build时生成包,并将所有东西上传到亚马逊S3,并实现类似于Angular的ocLazyLoading?

继续保持断开连接! 错误

我目前正在开始使用ReactJs。 不过,我在控制台中遇到了以下错误,它不会在terminal中显示: [WDS] Disconnected!sock.onclose @ client?64c0:70EventTarget.dispatchEvent @ eventtarget.js:49(anonymous function)@main.js:356 abstract-xhr.js:128 GET http://127.0.0.0/sockjs-node/info?t=1461853324372 net :: ERR_CONNECTION_TIMED_OUT 它正在寻找我在本地和全球安装的“sockjs-node”,但是没有任何改变。 它不应该search“node_modules”文件夹吗? 这是我的configuration: var webpack = require("webpack"); var path = require("path"); module.exports = { devtool: "inline-source-map", entry: [ "webpack-dev-server/client?http://127.0.0.0/", "webpack/hot/only-dev-server", "./src" ], devServer: { contentBase: "./public", hot: true, inline: true, quiet: false, noInfo: true, stats: { colors: true } }, […]

在Node.js中出现`window not defined'错误

我知道Node.js中并不存在window ,但是我在客户端和服务器上都使用了React和相同的代码。 任何我用来检查window存在的方法nets me: 未捕获的ReferenceError:未定义窗口 我如何解决这个事实,我不能做window && window.scroll(0, 0) ?

检测input元素是否聚焦在ReactJS中

如何检测当前是否在ReactJS渲染函数中集中了如下的input元素? <input type="text" style={searchBoxStyle} placeholder="Search"></input>

React生成的button在我的表单不断刷新页面

我正在尝试使用node.js和react.js来创build一个聊天应用程序,但是我无法解决这个问题,每次点击我的页面button时,都会刷新页面。 如果我的问题非常明显,我对网站开发相当陌生,所以请原谅我。 我的代码可以在下面find: // Array of messages to be rendered messageArray = []; var socket = io(); // Prompt the user for their username var user = prompt("Please enter your name", "Anonymous"); // Emit username information so that it can be kept track of socket.emit('new user', user); $('#chat').submit(function() { // When the user hits submit, […]