2017-11-20 4 views
1

돌아 렌더링 반응Immutable.js '맵 사용은 내부의는의 내가이 글을 통과하고 "반응 + REDUX + immuntable"JS 사용 사례를 이해하려고 노력하고

이 기사에서 복사 태그 : :

불변의 형태 여전히 객체이며, 우리가 안전하게 도도 구성 요소에 전달할 수 있습니다 우리가 할일 얻을지도 콜백, 내부이 문서의 일부가 다음과 같습니다. // 구성 요소/TodoList.js

render() 
{ 
    return (
    // …. 

     {todoList.map(todo => { 

      return (

      <Todo key={todo.get('id')} 
       todo={todo}/> 

     ); 
     })} 
    // …. 
); 

}

QUES :

그는 "지도 콜백"라고 왜
  1. ? 여기에 콜백입니까, 아니면 호출되는 함수입니까?

  2. 지도가 여기에 생성됩니까? 내 말은 비슷한 것을 obj1 = Map ({prop : 'someValue'}); ?

  3. 이 부분을 올바르게 수행하면 어떤 이점이 있습니까?

고마워요!

답변

1
  1. 은 "지도 콜백은"에 map 기능을 사용할 때

  2. 지도가

  3. 아이디어를 생성하지 동적 객체를 좋아하지 todoList .map에 인수로 전달하는 기능입니다 array는 배열을 다른 것으로 변환합니다. "이 배열을 가져 와서 각 요소에 대해 뭔가를 반환하고 배열을 돌려 주라"는 바로 가기입니다. map 함수에 대한 자세한 내용은 here입니다.

2

todoList는 Immutable.js List입니다. 어떤 map 기능을 Array.prototype.map 비슷한 있습니다. .map(callbackFn)List의 각 항목에 callbackFn을 적용한 결과 새 List을 반환합니다. 따라서이 경우 결과는 List<Todo>입니다. iterables (List is iterable)을 아이들로 사용하여 지원하면 map의 결과를 직접 사용할 수 있습니다.

+0

괜찮 았으므로 지금 받으므로 여기서지도는 모든 을 반환합니다. – shaarang

+0

예. 맞습니다. s – wgcrouch

+0

의 'List'입니다.하지만이 모든 것이 불변성과 어떻게 관련되어 있습니까? 모든 가 단순히 반환되거나 일부 논리가 적용된다는 의미입니까? 아니면 여기서지도를 통해 무엇을 얻을 수 있습니까? 반복성 만? – shaarang