reaccionará-router en la historia

reaccionará-router en la historia

eact-enrutador  se basa en la historia de

una aplicación de gestión de sesión sesión de la historia js js historia de la biblioteca. It diferentes entornos (navegadores, nodo ...) las variables unificadas en una API sencilla de gestionar pila historia, navegación, salto de confirmación, y el estado continuo entre las sesiones.



  
  
  1. // Uso básico
  2. importación {} createHistory de la 'historia'
  3. const historia createHistory = ()
  4. // dirección actual
  5. const location = history.getCurrentLocation ()
  6. // detectar la traducción de direcciones actual
  7. const UNLISTEN = history.listen ( ubicación => {
  8. consola .log (location.pathname)
  9. })
  10. // La nueva entrada en la pila del historial
  11. history.push ({
  12. nombre de ruta : '/ / path' ,
  13. buscar : '? a = consulta' ,
  14. Algunos parámetros // url no existe por encima del valor del estado actual de la URL
  15. Estado: { la : 'estado' }
  16. })
  17. // Cuando haya terminado, detenga el oyente
  18. UNLISTEN ()

También puede objetar el uso de la historia para cambiar la ubicación actual:

  • push (ubicación)
  • sustituir (ubicación)
  • Go (n)
  • regresa()
  • GoForward ()

Una historia sabe cómo monitorizar los cambios en la barra de direcciones del navegador, y analizar la URL en el objeto de la ubicación, y luego hacerlo coincidir con el router utilizando la ruta, el último render correctamente los componentes correspondientes.

ubicación de los objetos incluyen:


   
   
  1. 同 ruta window.location.pathname
  2. buscar en la misma window.location.search
  3. indicar un objeto objeto de lote en esta dirección
  4. acción de empuje, SUSTITUIR uno o POP
  5. ID de clave exclusiva
Tres historia común

    
    
  1. // historia HTML5, recomendado
  2. importación createHistory de 'la historia / lib / createBrowserHistory'
  3. // historia Hash
  4. importación createHistory de 'la historia / lib / createHashHistory'
  5. // historia memoria (por ejemplo: medio ambiente nodo)
  6. importación createHistory de 'la historia / lib / createMemoryHistory'

createHashHistory

Este es uno obtendrá la historia defecto, si no se especifica una historia (es decir, <Router> {/ * sus rutas * /} </ Router>). Se utiliza en el hash URL (#) para crear formada como parte http://example.com/#/some/path de la ruta.

la historia de hash es el valor por defecto porque no puede hacer cualquier configuración se puede ejecutar en el servidor, e incluye IE8 + se puede utilizar en todos los navegadores populares. Sin embargo, no se recomienda utilizarlo en la producción real, porque cada aplicación web debe tener un destino de usar createBrowserHistory.

createBrowserHistory

historial del navegador es crear una aplicación de navegador recomendado por la historia Reaccionar router. Utiliza  Historia API fue creado para URL mango en el navegador, como por ejemplo un nuevo verdadero `URL example.com / some / path`

createMemoryHistory

la historia de memoria no será operado o leer en la barra de direcciones. Esto explica cómo lograr la representación del servidor. Al mismo tiempo, también es muy adecuado para el ensayo y la otra El entorno de procesamiento (como Reaccionar Nativo).

Para más detalles, consulte Dirección: https://zhuanlan.zhihu.com/p/20799258?refer=jscss


                        <li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
                            <use xlink:href="#csdnc-thumbsup"></use>
                        </svg><span class="name">点赞</span>
                        <span class="count">1</span>
                        </a></li>
                        <li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true">
                            <use xlink:href="#icon-csdnc-Collection-G"></use>
                        </svg><span class="name">收藏</span></a></li>
                        <li class="tool-item tool-active is-share"><a href="javascript:;"><svg class="icon" aria-hidden="true">
                            <use xlink:href="#icon-csdnc-fenxiang"></use>
                        </svg>分享</a></li>
                        <!--打赏开始-->
                                                <!--打赏结束-->
                                                <li class="tool-item tool-more">
                            <a>
                            <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
                            </a>
                            <ul class="more-box">
                                <li class="item"><a class="article-report">文章举报</a></li>
                            </ul>
                        </li>
                                            </ul>
                </div>
                            </div>
            <div class="person-messagebox">
                <div class="left-message"><a href="https://blog.csdn.net/jimolangyaleng">
                    <img src="https://profile.csdnimg.cn/5/C/7/3_jimolangyaleng" class="avatar_pic" username="jimolangyaleng">
                                            <img src="https://g.csdnimg.cn/static/user-reg-year/1x/8.png" class="user-years">
                                    </a></div>
                <div class="middle-message">
                                        <div class="title"><span class="tit"><a href="https://blog.csdn.net/jimolangyaleng" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">狼牙冷</a></span>
                                            </div>
                    <div class="text"><span>发布了46 篇原创文章</span> · <span>获赞 28</span> · <span>访问量 25万+</span></div>
                </div>
                                <div class="right-message">
                                            <a href="https://im.csdn.net/im/main.html?userName=jimolangyaleng" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
                        </a>
                                                            <a class="btn btn-sm  bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">关注</a>
                                    </div>
                            </div>
                    </div>
    
Publicado 10 artículos originales · ganado elogios 0 · Vistas 323

Supongo que te gusta

Origin blog.csdn.net/qq_30627241/article/details/103802454
Recomendado
Clasificación