私はユーザーのリストを使ってビルドしているアプリケーションを持っています。私はユーザーArrayを介してマップし、クリックすることができるように各ユーザーの名前を表示することができます。私は、そのコンポーネントがユーザの情報をレンダリングするはずの "UserCard"コンポーネントに小道具を渡します。1人のユーザーの代わりに1人のユーザー情報のリストで4つのコンポーネントを表示する
import React, {Component} from 'react';
import User from './User.jsx';
class UserList extends Component{
render(){
return(
<ul className='nav nav-tabs nav-justified'>
{this.props.People.map(person => {
return <User
users={person}
key={person.Id}
{...this.props}
/>
})}
</ul>
)
}
}
export default UserList;
:これは一意に起こっとうまく働いている、しかし、ユーザーが
import React, {Component} from 'react';
import UserCard from './UserCard.jsx';
class User extends Component{
onClick(e){
e.preventDefault();
const {updateUserId, user} = this.props;
updateUserId(user);
}
render(){
const {user, activeUser, userIdToShow} = this.props;
const active = user === activeUser ? 'active' : '';
return(
<li className={active} role='presentation'>
<a onClick={() => this.props.updateUserId(this.props.users.Id)}>
{this.props.users.Name}
</a>
{userIdToShow ? <UserCard
key={this.props.users.Id}
user={this.props.People[userIdToShow-1]}/> : null}
</li>
)
}
}
export default User;
とユーザーリスト(親compenent)は次のようになります(な長さの配列の)4回表示されていますどんなフィードバックも高く評価されます。私はJSBinやFiddleで自分のアプリを手に入れようとします。前もって感謝します!あなたはこの試みることができる
UserCardでキー属性を使用します。 Keyは反応の 'キーワード'属性であり、子コレクションの外部でそれを使用すると問題が発生する可能性があります。 –