我有点困惑,如何上传进展evt与axios.Actually我存储巨大的数字文件到aws s3.为了如何获得上传的进度我需要这个函数onUploadProgress
目前我的帖子请求是这样的
export function uploadtoCdnAndSaveToDb(data) {
return dispatch => {
dispatch(showUnderLoader(true));
return axios.post('/posttodb',{data:data},
).then((response) => {
console.log(response.data)
})
}
}
Run Code Online (Sandbox Code Playgroud) 我是新的反应/ redux我很少混淆反应/ redux中的服务器端rending,是的我在互联网上看到一些例子,但当我尝试使用外部服务器的模拟api时,服务器端渲染无法正常工作.
cat.js
import React from 'react';
import {render} from 'react-dom';
import {connect} from 'react-redux';
import * as mockApi from '../Actions/mockActions';
class Cat extends React.Component{
componentWillMount(){
this.props.getMockApi();
}
render(){
return(
<div>
Hello Dude
{this.props.mock.data.map((data,i) => {
return <li key={i}>{data.email}</li>
})}
</div>
)
}
}
const mapStateToProps = (state) => {
return {
mock:state.mock
}
};
const mapDispatchToProps = (dispatch) => {
return {
getMockApi:() => dispatch(mockApi.getMockData())
}
};
export default connect(mapStateToProps,mapDispatchToProps)(Cat);
Run Code Online (Sandbox Code Playgroud)
mockActions.js
import axios from 'axios';
import * as …
Run Code Online (Sandbox Code Playgroud) 对我来说,使用axios时经常出现这种错误.我无法使用未定义的属性设置状态.尽管我得到了实际的回应.我很困惑.任何解决方案将不胜感激.
json通过axios回复回复
[ { main: 1,
left: 0,
right: 0,
top: 0,
bottom: 0,
cid: 6,
'$created': '2016-10-21T11:08:08.853Z',
'$updated': '2016-10-22T07:02:46.662Z',
stop: 0 } ]
Run Code Online (Sandbox Code Playgroud)
code.js
import React from 'react';
import ReactDOM from 'react-dom';
import axios from 'axios';
export default class Main extends React.Component{
constructor(props){
super(props);
this.state = {
status:[]
}
}
componentDidMount(){
this.getdata()
}
getdata(){
axios.get('/getactions')
.then(function (data) {
console.log(data.data);
this.setState({
status:data
})
})
}
render(){
console.log(this.state)
return(
<div>
<button >Left</button>
</div>
)
}
}
ReactDOM.render(<Main/>,document.getElementBy
Id('app'))
Run Code Online (Sandbox Code Playgroud) 我正在尝试向我的 React 应用程序添加 csrf 保护,但我一直收到错误无效令牌
import bodyParser from 'body-parser';
import cookieSession from 'cookie-session';
import passport from 'passport';
import csrf from 'csurf'
import config from '../../config'
import AuthRoutes from "./routes/AuthRoutes";
/* Test only */
import cookieParser from 'cookie-parser';
const session = cookieSession({
maxAge:24 * 60 * 60 * 1000,
keys:[config.COOKIE_KEY],
name:'authentication',
});
export default app => {
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(session);
app.use(passport.initialize());
app.use(passport.session());
/* Test */
app.use(cookieParser());
app.use(csrf({ cookie: true }));
app.use(function (err, req, res, next) {
if (err.code …
Run Code Online (Sandbox Code Playgroud) 我知道这可能会标记为重复的解决方案,但堆栈溢出的解决方案对我不起作用.
问题:
(node:5716) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message lis
teners added. Use emitter.setMaxListeners() to increase limit.
Run Code Online (Sandbox Code Playgroud)
我的代码库是巨大的,我面对这个错误有时我不知道为什么会发生
我尝试了什么:
试图增加听众的限制,但遗憾的是它无法正常工作.
const EventEmitter = require('events');
const emitter = new EventEmitter()
emitter.setMaxListeners(50)
Run Code Online (Sandbox Code Playgroud)
更新:
经过一些浏览后,我运行此命令来跟踪漫游
node --trace-warnings index.babel.js
Run Code Online (Sandbox Code Playgroud)
结果是我的socket.io代码是我使用socket.io与redis的问题
这是错误
node:14212) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message li
steners added. Use emitter.setMaxListeners() to increase limit
at _addListener (events.js:281:19)
at RedisClient.addListener (events.js:298:10)
at Namespace.<anonymous> (D:/newProject/services/socket.js:21:17)
at emitOne (events.js:115:13)
at Namespace.emit (events.js:210:7)
at Namespace.emit (D:\newProject\node_modules\socket.io\lib\namespace.js:213:10)
at D:\newProject\node_modules\socket.io\lib\namespace.js:181:14
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at …
Run Code Online (Sandbox Code Playgroud) 我很反应 - 阿波罗我很困惑,如何将状态从服务器端补充到客户端并且我的应用程序正在运行,但问题是它没有使用来自Apollo的预加载状态在组件呈现后它再次调用API .
认真的Redux集成只使复杂的Apollo状态呈现的不是自定义redux状态,这就是问题.但我不知道如何集成.
Server.js
const HTML = ({ html,state}) => (
<html lang="en" prefix="og: http://ogp.me/ns#">
<head>
<meta charSet="utf-8" />
<meta httpEquiv="X-UA-Compatible" content="IE=edge" />
<meta httpEquiv="Content-Language" content="en" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<div
id="app"
dangerouslySetInnerHTML={{ __html: html }} />
<script dangerouslySetInnerHTML={{
__html: `window.__STATE__=${JSON.stringify(state)};`,
}} />
<script src="/static/app.js" />
</body>
</html>
);
app.get('/*',(req,res) => {
const routeContext = {};
const client = serverClient();
const components = (
<StaticRouter location={req.url} context={routeContext}>
<ApolloProvider store={store} client={client}>
<WApp />
</ApolloProvider>
</StaticRouter> …
Run Code Online (Sandbox Code Playgroud) 我是新来的反应js.我正在创建用户输入和要输入的实际句子之间的比较不知何故我能够实现这一点但它不完美,就像嵌套地图无法正确呈现如果字母输入正确它应该呈现绿色背景我的状态是正确更新但我的嵌套地图金达不工作有一个延迟
组件代码
renderLine = () => {
let test = this.props.test.get('master')
return test.map(line => {
return line.check.map( (ltr,i) => ltr.status ? <span key={i} className="correct">{ltr.letter}</span> : ltr.letter )
})
};
handleKeyPress = e => {
if(e.charCode === 32) {
this.setState({
pushToNext:true,
currentTyping:""
})
}
};
handleInput = e => {
if(e.target.value !== " "){
let {storeValue} = this.state;
console.log(storeValue.length);
let updatedWord = e.target.value;
let updateArr = [];
if(storeValue.length === 0){
updateArr = storeValue.concat(updatedWord)
}else {
if(this.state.pushToNext){
updateArr = storeValue.concat(updatedWord)
}else { …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用反应包装器 lib https://www.npmjs.com/package/react-codemirror2通过代码镜像浏览器编辑器实现 css 的自动建议
我试过 editor.execCommand('autocomplete');
onchange 事件,但它使浏览器崩溃
我的尝试
import ReactDOM from "react-dom";
import React from "react";
import {UnControlled as CodeMirror} from 'react-codemirror2';
import 'codemirror/lib/codemirror.css';
import 'codemirror/theme/material.css';
import 'codemirror/addon/hint/show-hint.css';
require('codemirror/mode/css/css');
require('codemirror/addon/hint/css-hint');
require('codemirror/addon/hint/show-hint');
require('codemirror/addon/edit/closebrackets');
require('codemirror/addon/lint/lint');
require('codemirror/addon/display/autorefresh');
const App = () => {
const handleChange = (editor, data, value) => {
console.log(editor, data, value);
/* Crash the browser */
// editor.execCommand('autocomplete');
}
return(
<div>
<CodeMirror
value='body{ background: red }'
options={{
mode: 'css',
theme: 'material',
lineWrapping: true,
smartIndent: true,
lineNumbers: true, …
Run Code Online (Sandbox Code Playgroud) 我是 node js/express 的新手。我正在尝试使用 cloudfront 和 s3 存储桶制作多个图像上传应用程序。我想为我使用 socket io 的用户显示进度条。照片上传进度将在循环中。但是问题是当照片上传开始时它总是显示 100% 完成而不是从一开始。不要认为上传完成了它不是,我的文件是 20MB。我不知道发生了什么我错过了什么
这是我的代码
app.post('/posttodb',(req,res) => {
let isLoggedIn = req.cookies['check'];
let token = req.cookies['peace'];
const bucketName = 'awsBucketName';
console.log(isLoggedIn);
if(isLoggedIn == "true"){
if(token){
jwt.verify(token,JWTPASS,(err,decode) => {
if(err){
console.log(err)
res.json({error:true})
}else{
console.log('========================>',decode)
let postOwneranme = decode.user.username;
let postTags = req.body.data.postTags;
let photosBlob = req.body.data.photos;
let postId = req.body.data.postId;
let nepostAwsPhots = [];
let OwnerPic = decode.user.propic;
let postOwnerFullName = decode.user.name;
let isMature = req.body.data.isMature;
let postThumbUrl = req.body.data.thumnailUrl;
let …
Run Code Online (Sandbox Code Playgroud) reactjs ×8
javascript ×7
node.js ×6
redux ×3
express ×2
amazon-s3 ×1
apollo ×1
apollostack ×1
axios ×1
codemirror ×1
csrf ×1
css ×1
es6-promise ×1
ffmpeg ×1
foreach ×1
immutable.js ×1
mysql ×1