Closed7

React Native / NativeBase 3

Takanori IshikawaTakanori Ishikawa

NativeBase v3.0

NativeBase の中の人は v3 の開発に忙しく、v2 はあまりメンテされてない印象。まだ alpha だが、活発にコミットされているようなので、今のうちに移行しておくのが良さそう(パッと見、v2 とは相当違うっぽい)

  • TypeScript で開発されているので、TypeScript ユーザーは安心
  • テーマのカスタマイズも簡単そう
  • Avatar など最近のアプリでよく見る UI がある

https://twitter.com/greedy_reader/status/1320992409241567232

Versions native-base - npm

  • alphanext がある
  • alpha が出たのは 8 ヶ月前なので、next を追うのが良さそう。

情報源

関連ライブラリ


Install

$ npm i native-base@next react-native-svg react-native-vector-icons styled-components styled-system

Theme を有効にするために NativeBaseProvider が必要。

import { NativeBaseProvider, Button, Icon, Text, Thumbnail } from 'native-base';
...
export default function App() {
  return (
    <NativeBaseProvider>
      ...
    </NativeBaseProvider>
  );
}
Takanori IshikawaTakanori Ishikawa

AvatarGroup

<AvatarGroup size="md" max={3}>
  {_.shuffle(CoWorkers).map((coworker, i) => (
    <Avatar name={coworker.name} source={coworker.picture}></Avatar>
  ))}
</AvatarGroup>

いつもの警告。Avatar に key を設定しても発生するので、NativeBase 側で修正が必要? (3.0.0-next.14)

Warning: Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.%s, 

Check the render method of `AvatarGroup`., , 
    in Avatar (at Group.tsx:27)
    in AvatarGroup (at App.tsx:295)
    in RCTView (at View.js:34)
Takanori IshikawaTakanori Ishikawa

Styled System 使うと fontSize とかをリテラルで指定しないといけないのが Tailwind CSS と比較して気持ち悪いなあ。やっぱり、Tailwind CSS を採用して .text-lg みたいに指定した方が変更にも強くなるような

このスクラップは2021/07/19にクローズされました