我通过道具将数组发送到组件,但我不能在阵列上使用地图。它说
.map不是函数
我的代码:
def get_user(jwt)
decoded_token = JWT.decode jwt, Rails.application.secrets.secret_key_base, true, { :algorithm => 'HS256' }
current_user = User.find((decoded_token[0])['sub']))
current_user
end
这就是Chrome React开发工具的样子:
答案 0 :(得分:2)
问题是,无论何时将任何数据从父传递到子传递,它都会通过道具传递,您需要在子组件中接收道具并访问特定值,如下所示:
authors
或
props
第二个工作正常的原因:因为道具是一个对象,当您编写props.authors
时,这意味着您只从对象obj = {a:1,b:2,c:3}
let {a} = obj;
console.log(a);
收到{{1}}值。在这种情况下,您不需要撰写{{1}}。
检查此示例:
{{1}}
答案 1 :(得分:1)
道具将作为对象传递,因此现在authors
充当props
的别名。只要使用数组声明prop,就可以访问authors
上的props
属性。
const AuthorList = (props) => {
return(
// ..
{props.authors.map(author =>
<AuthorListRow key={author.id} author={author} />
)}
// ..
);
};