【问题标题】:ES6 Destructuring on Route render prop parameters路由渲染道具参数上的 ES6 解构
【发布时间】:2023-03-19 02:49:01
【问题描述】:

这可能是一个奇怪的问题
但是这里有......

我有以下代码

const About = props => {
  console.log(props.match);
  console.log(props.location);
  console.log(props.history);

  return <div>About</div>;
};

const App = () => (
  <div>
    <BrowserRouter>
      <Route path="/about" component={About} />
    </BrowserRouter>
  </div>
);

而且可以简写成 ES6 的对象解构特性,像这样

const App = () => (
  <div>
    <BrowserRouter>
      <Route
        path="/about"
        render={({match, location, history}) => {
          console.log(match);
          console.log(location);
          console.log(history);
          return <div>About</div>;
        }}
      />
    </BrowserRouter>
  </div>
);

我很困惑渲染属性如何知道箭头函数从道具中提取3个属性??

我希望我的问题有意义。

谢谢

【问题讨论】:

    标签: javascript reactjs ecmascript-6 react-router jsx


    【解决方案1】:

    它只是使用 JavaScript 的 object destructuring 来破坏 render 属性中的 route props 参数。

    如文档中所述,路由道具是一个由

    组成的对象

    这其实和这样写很相似:

    <Route
        path="/about"
        render={(routeProps) => {
          const { match, location, history } = routeProps;
          return <div>About</div>;
        }}
      /> 
    

    【讨论】:

    • 这对我来说实际上更有意义。谢谢!
    猜你喜欢
    • 2019-03-02
    • 2020-04-05
    • 2019-02-03
    • 2020-07-12
    • 2017-09-14
    • 2021-06-25
    • 2023-03-22
    • 2019-04-25
    • 2020-04-07
    相关资源
    最近更新 更多