我正在尝试使用javascript Ecmascript 6支持在React + Webpack项目中执行以下操作:
class ApiCalls extends React.Component{
static uploadFiles(files) {
// upload code
if(success) {
return(true, message);
}
else {
return(false, message);
}
}
}
export default ApiCalls;
然后在我的调用组件中,我调用这样的方法:
import ApiCalls from './ApiCalls';
class HomePage extends React.Component {
...
handlePost(files) {
ApiCalls.uploadFiles(files) = ((success, message) => {
if (success) {
console.log('Success! ' + message);
}
else {
console.log('Error! ' + message);
}
}
}
...
render()
...
}
export default HomePage;
使用上面的代码我收到以下错误:
Invalid left-hand side in assignment expression
箭头指向ApiCalls。
我做错了什么?
答案 0 :(得分:1)
我认为,你以错误的方式使用callback function
,将函数传递给静态函数,并且成功时,使用参数调用该函数,如下所示:
handlePost(files) {
ApiCalls.uploadFiles(files, (success, message) => {
if (success) {
console.log('Success! ' + message);
}
else {
console.log('Error! ' + message);
}
})
}
现在像这样写static function
:
static uploadFiles(files, target) { //target will be that callback function
// upload code
if(success) {
target(true, message); //call that function and pass the parameter
}
else {
target(false, message);
}
}