React Native

reactのrender内でmapを使ってchild componentをループさせる時に気を付ける事…

最終更新から8年以上たっています。ライブラリのバージョンや手順が変わっている可能性があります。

react-native-mapsを使ってMarkerを表示しようとしたんだけど、何度やっても表示されない。
chromeのconsole内では確かにmarkerがループで回っている。
何でだと悩み続けて4日程…

答えは物凄く簡単だった。

render() {
    <MapView
        ~省略~
    >
        {this.state.children.map(child => {
          <Marker 
            key={child.id}
            coordinate={child.LatLng}  
            title={child.name}
          />
        })}
    </MapView>
}

これだと表示されない。
理由はMarkerをreturnしていないから…。

render() {
    <MapView
        ~省略~
    >
        {this.state.children.map(child => {
          return <Marker  // ←この行のreturn!!
            key={child.id}
            coordinate={child.LatLng}  
            title={child.name}
          />
        })}
    </MapView>
}

正解はこれ!

Rendering a list of markers on a map

これを参考に書いてたんだけど、typescriptの場合?なのかはもう良く分からんけど、returnを書かないと出力されないのだった。

もう本当にしょうもないミスで嫌になったけど、androidもiphoneも同じように表示されて嬉しすぎるので、これで前に進もうと思う。

made with Flutter

この記事を書いた人がつくったアプリ

React Native の記事

コメント(2件)

同じところで躓いてました
助かりました

mrym

こんな昔の記事がお役に立って良かったです!(^^)

コメントの受け付けは終了しました。ご意見・ご質問は X(@nm_aru)へどうぞ。