0
使用Material UI, Table Component。 已在根組件中導入的所有內容。我遇到的問題是 將屬性傳遞給子組件<UserList />
。我可以通過users
但就是這樣。無法將道具傳遞給組件
我的錯誤是props are undefined
,這意味着我沒有傳遞任何東西給孩子, 但我怎麼能通過用戶,但不是?我在這裏錯過了什麼?
用戶容器
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import { fetchUsers } from '../actions/usersActions';
import UsersList from '../components/users/UsersList';
export default class Users extends Component {
componentDidMount(){
this.props.dispatch(fetchUsers(''));
}
render(){
const showCheckboxes = 'false';
return(
<div>
<UsersList users={this.props.users} showCheckboxes={showCheckboxes}/>
</div>
);
}
}
Userslist
import React from 'react';
import {Table, TableBody, TableFooter, TableHeader, TableHeaderColumn, TableRow, TableRowColumn} from 'material-ui/Table';
export default function UsersList({ users }, props) {
const emptyMessage = (
<p>There are no users</p>
);
const usersList = users.map(user =>
<li key={user.id}>{user.name}</li>
);
return (
<div>
<Table>
<TableHeader displaySelectAll={this.props.showCheckboxes}>
<TableRow>
<TableHeaderColumn>ID</TableHeaderColumn>
</TableRow>
</TableHeader>
</Table>
{users.length === 0 ? emptyMessage : usersList}
</div>
);
}
確定這是有道理的,我指的是隻有通過解構的片段。感謝您解決這個問題。在需要清理的其中一個屬性中也出現錯誤。 –
是的,如果你想通過解構的道具,你仍然應該傳遞一個參數,但作爲一個對象。例如:'UsersList({users,showCheckboxes})' – Shota
問題是我不確定該組件需要什麼,所以只需傳遞道具就可以實現更好的可重用性。 –