Javascript 如何在ReactJs中使用map渲染字符串数组?
我基本上想把数组中的每个字符串放在一个单独的div中,我试图这样做,但没有渲染任何内容Javascript 如何在ReactJs中使用map渲染字符串数组?,javascript,arrays,reactjs,jsx,Javascript,Arrays,Reactjs,Jsx,我基本上想把数组中的每个字符串放在一个单独的div中,我试图这样做,但没有渲染任何内容 export default class Loja extends Component { state = { loja: {}, lojaInfo: {}, category: [] } async componentDidMount() { const { id } = this.props.match.
export default class Loja extends Component {
state = {
loja: {},
lojaInfo: {},
category: []
}
async componentDidMount() {
const { id } = this.props.match.params;
const response = await api.get(`/stores/${id}`);
const { category, ...lojaInfo } = response.data
this.setState({ loja: category, lojaInfo });
console.log(category)
}
render() {
const { category } = this.state;
return (
<p>{category.map(cat => <div>{cat}</div>)}</p>
);
}
}
导出默认类Loja扩展组件{
状态={
洛亚:{},
lojaInfo:{},
类别:[]
}
异步组件didmount(){
const{id}=this.props.match.params;
const response=wait api.get(`/stores/${id}`);
const{category,…lojaInfo}=response.data
this.setState({loja:category,lojaInfo});
console.log(类别)
}
render(){
const{category}=this.state;
返回(
{category.map(cat=>{cat}}
);
}
}
console.log(类别)显示以下内容:
错误在于您正在更新
组件didmount
中的两个属性,一个是loja:category
,第二个属性是lojaInfo
,但在render()
方法中,您正在访问this.state.category
,它仍然是一个空字符串
相反,您要做的是,在组件didmount
中,像这样更新您的状态:
this.setState({
category,
lojaInfo,
});
错误在于您正在更新
componentDidMount
中的两个属性,一个是loja:category
,第二个属性是lojaInfo
,但在render()
方法中,您正在访问的this.state.category
仍然是空字符串
相反,您要做的是,在组件didmount
中,像这样更新您的状态:
this.setState({
category,
lojaInfo,
});
您已将您的
类别
添加到状态中的loja
对象中
像这样的方法应该会奏效:
async componentDidMount() {
const { id } = this.props.match.params;
const response = await api.get(`/stores/${id}`);
const { category, ...lojaInfo } = response.data
this.setState({ category, lojaInfo });
}
您已将您的
类别
添加到状态中的loja
对象中
像这样的方法应该会奏效:
async componentDidMount() {
const { id } = this.props.match.params;
const response = await api.get(`/stores/${id}`);
const { category, ...lojaInfo } = response.data
this.setState({ category, lojaInfo });
}
您没有更新此行
this.setState({loja:category,lojaInfo})中状态的category部分代码>抱歉,我对react有点陌生,你能在代码中显示吗?state中的字段category始终是一个空数组。你没有更新此行中状态的category部分this.setState({loja:category,lojaInfo})代码>对不起,我对react有点陌生。你能在代码中显示吗?状态中的字段类别始终是空数组。