这个es6语法是何意思?

先看代码片段

import React from 'react';
import { connect } from 'redux/react';
import { prepareRoute } from '../decorators';
import * as RepoActionCreators from '../actions/repo';
import * as UserActionCreators from '../actions/user';
import RepoList from './RepoList';

@prepareRoute(async function ({ redux, params: { username } }) {
  return await * [
    redux.dispatch(RepoActionCreators.getByUsername(username)),
    redux.dispatch(UserActionCreators.getOneByUsername(username))
  ];
})
@connect(({ Repo, User }) => ({ Repo, User }))
class UserPage extends React.Component {

  render () {
    const {
      props: {
        Repo,
        User,
        params: { username }
      }
    } = this;

    const user = User.get(username);
    const repos = Repo.get(`users/${username}`);

    return (
      <div>
        <h3>{user ? user.get('name') : 'Loading...'}</h3>
        <div>{user ? user.get('location') : 'Loading...'}</div>
        <div>{user ? user.get('bio') : 'Loading...'}</div>
        <h4>Repositories:</h4>
        {repos ? <RepoList {...{ repos }} /> : 'Loading...'}
        <p>
          <button onClick={::this.getMore}>Load more</button>
        </p>
      </div>
    );
  }

  getMore() {
    const {
      props: {
        dispatch,
        params: { username }
      }
    } = this;

    dispatch(RepoActionCreators.getMore(username));
  }
}

export default UserPage;

上面的@prepareRout, @connect怎么解释? 感谢回复。

阅读 5.9k
3 个回答

多谢楼上两位回复。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题