2016-11-03 3 views
2

Я не уверен, как передать ключ к без гражданства реагировать компонентуStateless Реагировать как передать ключ

MyComponent: (props) => { 
     return(<span>{props.somevalue}</span>); 
    } 


aCollection.map((value,index)=> <MyComponent somevalue={value}); 

Делать это приведет к ключевому предупреждению.

Так что я попытался передать ключ через опору

aCollection.map((value,index)=> <MyComponent key={index} somevalue={value}); 


MyComponent: (props) => { 
      return(<span key={this.props.key} >{props.somevalue}</span>); 
    } 

Однако я получаю ошибку https://facebook.github.io/react/warnings/special-props.html

Как я имел в виду, чтобы передать/использовать ключ в моей безгосударственной компоненте?

+2

Удалите 'key = {this.props.key}', он будет работать без него. – Solo

+0

Но разве я не должен устанавливать ключ для внутреннего реагирования на правильную работу? – dboyd68

+4

Насколько я знаю, установить его на '' достаточно, чтобы помочь React. – Solo

ответ

1

В качестве ошибки говорится, что специальные реквизиты (ref and key), которые используются реактивом, и поэтому не пересылаются компоненту, поэтому вы не можете передать опору по имени key и да, чтобы устранить предупреждение, вам необходимо определить , поэтому просто переименуйте опору, отправляя ее в MyComponent. Также я считаю, что вы должны использовать опору в своем компоненте без гражданства, например props.index, а не this.props.index.

aCollection.map((value,index)=> <MyComponent index={index} somevalue={value}); 


MyComponent: (props) => { 
      return(<span key={props.index} >{props.somevalue}</span>); 
    } 

Вам нужно только определить ключ к размаху, так что используйте его в качестве key={props.index}. Он должен устранить предупреждение.

+0

Помог ли мой ответ в решении вашей проблемы –

0

В соответствии с документами React для компонентов списка необходимо указать ключ.

Вам нужно только пройти key, чтобы реагировать на компонент, вам не нужно использовать его в компоненте, например, обращаться к ключу с помощью props.key.

выезд Basic List Component.

Смежные вопросы