我已经开始了一个项目,其中我在前端使用React JS,在后端使用node
js。我使用webpack捆绑了JS文件。我将babel与其他必要的东西一起使用。当我在react类中使用箭头函数时,它会给出语法错误,例如:
模块构建失败:SyntaxError:意外令牌
但是我可以在节点中使用Arrow函数,没有任何问题。
这是我的webpack配置文件:
import path from 'path';
import webpack from 'webpack';
import 'react-hot-loader/patch';
export default{
devtool: 'eval',
entry:[
'react-hot-loader/patch',
'webpack-hot-middleware/client?reload=true',
path.join(__dirname,'client/index.js')],
output:{
path:'/',
publicPath:'/'
},
plugins:[
new webpack.NoErrorsPlugin(),
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin()
],
module:{
loaders:[
{
test:/\.js$/,
include:path.join(__dirname,'client'),
loaders: ['react-hot-loader/webpack', 'babel']
},
{
test: /\.jpe?g$|\.gif$|\.svg$|\.png$/i,
loader: 'file-loader?name=[name].[ext]'
}
]
},
resolve:{
extension:['','.js']
}
}
我的React文件:
class mapSidebar extends React.Component{
constructor(props,context){
super(props,context);
this.state = {
dataSource: []
};
this.handleUpdateInput = this.handleUpdateInput.bind (this);
}
handleUpdateInput = (value) => {
this.setState({
dataSource: [
value,
value + value,
value + value + value,
],
});
};
render(){
return(
<div>
<Paper zDepth={2}>
<div>Hello</div>
<div>
<AutoComplete
hintText="Type anything"
dataSource={this.state.dataSource}
onUpdateInput={this.handleUpdateInput}
/>
</Paper>
</div>
);
}
}
export default mapSidebar;
如何解决这个问题?
在这里引起问题的不是箭头功能。类属性不是ES6规范的一部分。
handleUpdateInput = (value) => {
// ...
};
如果您希望能够转换此代码,则需要添加类属性babel plugin。
或者,此转换作为Babel第2阶段预设的一部分提供。
使用带有class属性的箭头函数可确保始终以该组件作为的值调用该方法this
,这意味着此处的手动重新绑定是多余的。
this.handleUpdateInput = this.handleUpdateInput.bind (this);
假设我有一个函数,它更新状态并将其映射到一个onPoint到一个
嗨,我是新来的反应本机和尝试渲染组件调用一个函数内渲染,但它似乎不工作。 我的职能: 如果我这样做,效果会更好: 但不是这个: 我不明白为什么第二个代码不起作用
是否可以在全局做点工作,让hook可以在组件外的js 中使用?
使用类型脚本和 React,我们不再需要扩展 ,以便编译器知道所有反应组件 prop 都可以有子级: 然而,对于无状态的功能组件来说,情况似乎不是这样: 发出编译错误: 错误:(102,17)TS2339:属性“子”在“MyProps”类型上不存在。 我想这是因为编译器确实无法知道一个普通函数将在props参数中被赋予。 所以问题是我们应该如何在TypeScript的无状态函数组件中使用子元素?
下面的代码出现了最奇怪的错误。 /src/components/competitions/TheVault表单。js第5行:在函数“contactform”中调用React钩子“useForm”,该函数既不是React函数组件,也不是定制的React钩子函数React钩子/钩子规则 搜索关键字以了解有关每个错误的更多信息。 我刚刚安装了react hook表单并运行了演示代码。
我有以下react功能组件来帮助支持react路由器所需的身份验证路由。 我需要将其从功能组件转换为类组件,以便利用React.component的componentDidMount方法。不幸的是,我很难弄清楚如何迁移它。如果我照原样做,我需要复制组件和…rest参数,但我不知道怎么做。我想我可以用这个.props.Component获得组件参数,但我不确定如何拉…rest。我是JSX和ES6的新