2017-09-29 13 views
1

나는 하나의 게시물 (기본적으로 페이스 북의 코멘트 페이지 일 뿐이다)의 주석 목록보기 인 'Comments Detail page'를 만들고있다.React Native에서 중복 된 이미지 데이터 처리

아래 JSON 응답 데이터가 생성되었으므로 이미지 URL이 중복되어 나타납니다. 즉, 동일한 사용자가 게시물에 대해 100 번 댓글을 작성하면 AWS에서 이미지 데이터를 1 회가 아닌 100 회 가져와야합니다.

과도한 엔지니어링 일 수 있습니까? 너희들이 어떻게이 문제를 해결하니? 여기

내가 키로서 필요한 모든 이미지에 이미지 객체 및 사용자 ID를 만들 것이다 JSON 데이터

이때
{ 
    "comments": [{ 
     "id": 4, 
     "user": { 
      "image": "https://xxx.s3.amazonaws.com:443/-", 
      "id": 1, 
      "username": "jbaek73" 
     }, 
     "content": "Edited!", 
     "publish": "2017-09-18T12:11:41.002838Z", 
     "updated": "2017-09-19T08:16:25.408756Z", 
     "reply_count": 1 
    }, 
    { 
     "id": 13, 
     "user": { 
      "image": "https://xxx.s3.amazonaws.com:443/-", 
      "id": 1, 
      "username": "jbaek73" 
     }, 
     "content": "Neaa!", 
     "publish": "2017-09-18T14:12:51.876523Z", 
     "updated": "2017-09-18T14:12:51.876600Z", 
     "reply_count": 0 
    }, 
    { 
     "id": 14, 
     "user": { 
      "image": "https://xxx.s3.amazonaws.com:443/random", 
      "id": 5, 
      "username": "koreana" 
     }, 
     "content": "Newa!", 
     "publish": "2017-09-19T08:16:35.190351Z", 
     "updated": "2017-09-19T08:16:35.190398Z", 
     "reply_count": 0 
    }, 
+0

브라우저가 이미지를 처음으로 캐시하므로 100 번 가져올 필요가 없습니다 – Mikkel

+0

@Mikkel 멋질 것입니다. 브라우저 (iOS 및 ANdroid)가 자동으로 실행됩니까? 그것에 대해 어떤 기사를 읽었습니까 ??? 그걸 어떻게 알았 니? –

+0

이러한 것들은 알려져 있습니다. – Mikkel

답변

1

이다

randomFuntionName() { //you can call after you get your json 
var img = [] 

comments.forEach((element) => { //comments are comming from your json btw 
    if (img[element.user.id] == null) { 
    img[element.user.id] = require(element.user.image) 
    } 
}) 
this.setState({img}) 
} 

render() { 
    //this part is only for example, you need to dynamicaly change userID 
    return (<Image source={this.state.img[userId]}/>) 
} 

이 작업을 수행해야 하지만 앱에서 테스트하지는 않았습니다.

관련 문제