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.
-
// Uso básico
-
importación
{} createHistory
de
la 'historia'
-
-
const
historia createHistory = ()
-
-
// dirección actual
-
const
location = history.getCurrentLocation ()
-
-
// detectar la traducción de direcciones actual
-
const
UNLISTEN = history.listen (
ubicación =>
{
-
consola
.log (location.pathname)
-
})
-
-
// La nueva entrada en la pila del historial
-
history.push ({
-
nombre de ruta
:
'/ / path'
,
-
buscar
:
'? a = consulta'
,
-
-
Algunos parámetros // url no existe por encima del valor del estado actual de la URL
-
Estado: { la : 'estado' }
-
})
-
-
// Cuando haya terminado, detenga el oyente
-
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:
Tres historia común
同 ruta window.location.pathname buscar en la misma window.location.search indicar un objeto objeto de lote en esta dirección acción de empuje, SUSTITUIR uno o POP ID de clave exclusiva
-
// historia HTML5, recomendado
-
importación
createHistory
de
'la historia / lib / createBrowserHistory'
-
-
// historia Hash
-
importación
createHistory
de
'la historia / lib / createHashHistory'
-
-
// historia memoria (por ejemplo: medio ambiente nodo)
-
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).
<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="{"mod":"popu_824"}"><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="{"mod":"popu_379"}" 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="{"mod":"popu_379"}">关注</a>
</div>
</div>
</div>