2016-08-02 19 views
1

我正在努力將Stripe整合到我的React構建中。 我遵循的語法是我所知道的表單提交/標記化的最佳實踐,只要瀏覽器到達self.stripeHandler()我的控制檯出現錯誤。如何用React中的Stripe JS啓動一個函數?

如果不建設反應,而不是使用jQuery的stripeResponseHandler功能是作爲在Stripe.card.createToken函數中的參數,並觸發stripeResponseHandler功能沒有問題。

現在,我無法將Stripe文檔調整爲React。有任何想法嗎?

我正在使用webpack組件構建。那會是問題嗎?

import React from 'react'; 
 
import jQuery from 'jquery'; 
 

 
export default class PurchaseForm extends React.Component { 
 

 
    submitFormHandler(e) { 
 

 
     e.preventDefault(); 
 

 
     var $form = $('#payment-form'); 
 

 
     const self = this; 
 

 
     $form.submit(function(event, self) { 
 

 
     // Request a token from Stripe: 
 
     Stripe.card.createToken({ 
 
      number: $('.card-number').val(), 
 
      cvc: $('.card-cvc').val(), 
 
      exp_month: $('.card-expiry-month').val(), 
 
      exp_year: $('.card-expiry-year').val() 
 
     }, self.stripeResponseHandler()); // Uncaught TypeError: Cannot read property 'stripeResponseHandler' of undefined 
 

 
     return false; 
 
     }); 
 

 
    }; 
 

 
    stripeResponseHandler(){ 
 

 
     console.log("stripeResponseHandler fired"); 
 

 
    }; 
 

 
    render(){ 
 
    return(
 
     <div> 
 
     <form onSubmit={this.submitFormHandler.bind(this}>.....</form> 
 
     </div> 
 
    ); 
 
    } 
 
}; 
 
    
 
    
 

感謝您的幫助,您可以提供。 Moe

回答

相關問題