2016-06-29 5 views
1

저는 Reactjs가있는 첫 번째 App을 만들고 있어요. Flux Model을 구현하기 위해 Alt 라이브러리도 사용하고 있습니다. 나는 골치 거리가 있는데, 고치려고했지만 제대로 작동하지 않았다. 여기액션 ReactJs using Alt

import alt from '../alt'; 
class AddUserActions { 
constructor() { 
this.generateActions(
    'addUserSuccess', 
    'addUserFail' 
);} 
    addUser(payload) 
    {  
     $.ajax({ 
     type:'POST', 
     url:'/api/user', 
     data:{username:payload.username, 
     password:payload.password, 
     fbId:payload.fbId   
     } 
    }) 
    .done((data) => { 
    this.actions.addUserSuccess(data.message); 
    }) 
    .fail((jqXhr) =>{ 
    this.actions.addUserFail(jqXhr.responseJSON.message); 
    }); 
    } 
} 
export default alt.createActions(AddUserActions); 

이 data.message와 localserver 응답이 "성공"입니다, 상태 Ploblem가 this.actions.addUserSuccess(data.message);에서 발생 200 : 다음은 내 코드입니다. 오류 : Uncaught TypeError: Cannot read property 'addUserSuccess' of undefined 이유를 알지 못했습니다. 제발 도와주세요!

답변

0

this.generateActions은 ... 당신은 alt.generateActions(...)

또한 사용해야 아무것도 안하고있다,이 같은 자신의 addUserSuccess 및 addUserFail 조치를 추출하는 다치게하지 않습니다

import Api from '../services/QuestionApi'; 

class QuestionActions { 
    constructor() { 
     // put auto generate actions here 
    } 

    getQuestions() { 
     Api.getQuestions().then((result) => { 
      this.getQuestionsSuccess(result); 
     }); 
     return true; 
    } 

    getQuestionsSuccess(data) { 
     return data; 
    } 

    createQuestion(question,state) { 
     Api.createQuestion(question).then((result) => { 
      this.createQuestionSuccess(result); 
     }); 
     return true; 
    } 

    createQuestionSuccess(data) { 
     this.getQuestions(); 
     return data; 
    } 


} 
export default (alt.createActions(QuestionActions)); 

이렇게하면 필요한 경우 작업의 다른 기능을 수행 할 수 있습니다.