2017-04-21 11 views
0

私はこのような反応のアプリケーションを持っています:クリックしたときにボタンが表示され、印刷されるチケットのポップアップが開き、クリックハンドラが親ボタンへのコンポーネントと私はプリンタのコンポーネントでボタンがウィンドウが開かれたクリックされたときに問題があるwindow.open()は反応するアプリケーションでは機能しません

export default class ParentComponent extends Component { 
    openWindow = id => { 
    window.open('/service/ticket/' + id + '/print') 
    } 

    submitPayment =() => { 
    sendPayment(this.state.rawCommand.id, updatedCommand.payment) 
     .then(payment => { 
     if (payment.needed > 0) { 
      toastr.success(dictionnary.acceptedPayment) 
     } else { 
      toastr.success(dictionnary.payee) 
      this.openWindow(updatedCommand.id) 
     } 
     } 

    render() { 
    <Printer printTicket={this.openWindow} /> 
    } 
} 

const Printer = ({printTicket, id}) => { 
    const clickHandler =() => printTicket(id) 

    return (
    <button onClick={clickHandler}>print</button> 
) 
} 

同じプロセスは、親コンポーネント内で行われるようにしたいです期待どおりにopenWindowクリックハンドラがparから呼び出されたときコンポーネントは何も起こっていません!

私はchrome devtoolsのコードを調べて、その関数が呼び出されてもポップアップが開きません。 の1-ボタンがチケットにポップアップを開き、ユーザーはチケットがautomaticaly印刷されるべき支払いを提出した後、このボタン 、3-経由でチケットを印刷することができ 2 - それを印刷:説明

編集 詳細

+0

私は、そのコードを持つコンソール上で 'commandId'のReferenceErrorを見ることが期待されます。 – Quentin

+0

それはあなたのおかげで質問のタイプミスです! –

+0

どのように 'submitPayment'を呼びますか? – Pineda

答えて

2

Google Chromeについての解決策が見つかりました。ポップアップをブロックします。

関連する問題