我在React Router文档中看到你传递给match
道具的组件,你可以调用match.url
,但你似乎永远不会向组件传递任何东西。那究竟是什么匹配,你从哪里得到它?
答案 0 :(得分:2)
希望这会有所帮助:https://reacttraining.com/react-router/web/api/match
你在道具中得到public class HelloWorld{
public static void main(String []args){
System.out.println(recursion(5));
}
public static int recursion(int x){
int recursion(int x){
if(x == 0){
return 0;
}
else if(x> 0){
System.out.println(x*2);
recursion(--x);
}
}
,通常当你的组件被路由调用时你会得到它,并且你可以将它作为常规道具传递给其他组件来提取或使用这些信息。
match
在与react-router交互时也非常有用。我通常根据location
标志使用匹配进行渲染和重定向,并使用位置来获取浏览器所具有的实际URL。
答案 1 :(得分:0)
请参阅match()是纯JavaScript的String属性。因此,如果在JSX中使用了match,那么react也会使它成为自定义属性match
,这样它就不会与主match()
冲突,而且它是React Router的全局对象。
我遇到过这个问题并且知道不需要担心它应该在道具或州传递。实际上它是JSX中的自定义属性,它与实际的String.prototype属性没有冲突。
所以不要弄乱你的头,只要把它看作match()
属性,它来自React Router中专门使用的全局对象