LoginSignup
1
0

More than 5 years have passed since last update.

material-uiをreactで使いながらのメモ2

Posted at

react-router

React.js用のルーティングライブラリとしてreact-routerがあります。
しかし、個人的にかなり癖があるように思います。
先日、めちゃめちゃ苦労してルーティングを成功させたので、その例を記します。
おそらく、2階層のネストまでは割とすんなりいけるのですが、3段階目のネストに苦労しました。

  • aタグを使うと通常遷移
  • Linkコンポーネント(react-routerに含まれる)を使うと遷移せずに遷移。 (routingのnameで指定する。)

テーマ

テーマを入れ子で読み込めるのかは不明だが、トップの定義でパレットを作っておいて、
コンポーネントのインライン指定するのが標準っぽい?
(英語をちゃんと読めやと。。)

export default {
  spacing: spacing,
  fontFamily: 'Roboto, sans-serif',
  palette: {
    primary1Color: cyan500,
    primary2Color: cyan700,
    primary3Color: grey400,
    accent1Color: pinkA200,
    accent2Color: grey100,
    accent3Color: grey500,
    textColor: darkBlack,
    alternateTextColor: white,
    canvasColor: white,
    borderColor: grey300,
    disabledColor: fade(darkBlack, 0.3),
    pickerHeaderColor: cyan500,
    clockCircleColor: fade(darkBlack, 0.07),
    shadowColor: fullBlack,
  },
};



  render () {
    return (
      <span style={{color: this.context.muiTheme.palette.textColor}}>
        Hello World!
      </span>
    );
  }

クラス指定みたいなことはできるんかいな。。cssでやったほうが効率よさそうな気もする。。

react-routerでページ遷移にちょっとしたアニメーションを付ける | WebDesign Dackel
http://goo.gl/MdgVKr

ちょっとしたアニメーションをつける事例。
速度指定を、、cssアニメーションの指定と記述をあわせる必要があったりするらしい?

コードを見ると、用意されたコンポーネントについては上書きできるみたい。

でも、これだけだと細かいカスタマイズには微妙かも。

動的に色を切り替えてみる

パスが該当していたらシアンにする。お、三項演算子つかえた。

var style = {
    backgroundColor: (location.pathname == row.path) ? cyan100 : white
}
return (
    <MenuItem
        style={style}
    />
);

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0