我只是一个学习React / Redux的新手,这非常酷。但es6标准不支持某些功能。是的,我看到很多替代方法但是我无法得到它(使用高阶函数)。任何帮助将mixins添加到我的React es6代码
import React from 'react';
import Fetch from 'whatwg-fetch';
import jwt from 'jwt-simple';
import Reflux from 'reflux';
const secret = 'goal';
class Form extends React.Component{
// mixins:[
// Not supported in es6
// ],
constructor(props){
super(props);
this.state = {
value:'',
posted:''
}
}
onPost(e){
e.preventDefault();
if(this.refs.email.value && this.refs.name.value != ''){
const data = {
email:this.refs.email.value,
name:this.refs.name.value
};
const encodehead = jwt.encode(data,secret);
const encrypt = {
encode:encodehead
};
$.ajax({
type: 'POST',
url: '/post',
headers: {
kovam: encodehead
},
})
}
}
render(){
console.log(this.state);
return (
<div>
<form className="postform" onSubmit={this.onPost.bind(this)}>
<label>Email Addres</label>
<input type="email" ref="email" className="form-control"/>
<label>Name</label>
<input type="text" ref="name" className="form-control"/>
<br/>
<br/>
<button type="submit" className="btn btn-primary">Post To server</button>
</form>
</div>
)
}
}
export default Form;
答案 0 :(得分:1)
您应该使用Higher Order Components代替,ES6类中不再使用mixins,请参阅this article。
答案 1 :(得分:0)
使用来自Reflux的ES6 API:https://github.com/reflux/refluxjs#react-es6-usage
它目前只能从git repo本身获得(不是npm或其他任何东西),但效果很好。