Rumah  >  Soal Jawab  >  teks badan

javascript - Masalah dengan subkomponen bersarang dalam penghala tindak balas mendapatkan objek lokasi

Sebagai contoh, halaman mempunyai komponen modal Kandungan dalam komponen modal ditulis dalam subkomponen (ModalDetail.lokasi ini tidak boleh diperolehi dalam komponen ini daripada komponen induk dan melalui objek tetingkap Ambil, adakah ada cara lain

仅有的幸福仅有的幸福2672 hari yang lalu808

membalas semua(2)saya akan balas

  • 某草草

    某草草2017-06-26 10:52:02

    Versi sebelum

    react-router v4 mempunyai komponen tertib lebih tinggi yang dipanggil withRouter. Anda hanya perlu membalut satu lapisan apabila menentukan komponen modal anda sendiri.

    Versi v4 belum digunakan buat masa ini, dan tidak jelas sama ada terdapat sebarang perubahan

    import React from 'react'
    import PropTypes from 'prop-types'
    import { withRouter } from 'react-router'
    
    // A simple component that shows the pathname of the current location
    class ShowTheLocation extends React.Component {
      static propTypes = {
        match: PropTypes.object.isRequired,
        location: PropTypes.object.isRequired,
        history: PropTypes.object.isRequired
      }
    
      render() {
        const { match, location, history } = this.props
    
        return (
          <p>You are now at {location.pathname}</p>
        )
      }
    }
    
    // Create a new component that is "connected" (to borrow redux
    // terminology) to the router.
    export default withRouter(ShowTheLocation)

    Selepas membungkus lapisan denganRouter, anda boleh mengakses atribut yang anda mahukan. Anda juga boleh mengkaji lebih lanjut untuk melihat apa yang ada di dalamnya.

    balas
    0
  • PHP中文网

    PHP中文网2017-06-26 10:52:02

    Anda juga boleh menggunakan denganRouter dan mendapatkannya melalui this.props.location

    import React, { Component } from 'react';
    import { withRouter } from 'react-router'
    
    
    class  MyComponent extends Component {
    
       .....
    }
    
    export default withRouter(MyComponent)
    

    balas
    0
  • Batalbalas