Итак, у меня есть 2 файла React: App.js и category.js. Когда я передаю свой массив в category.js, он показывает огромный кусок текста вместо того, чтобы разбивать его на разные кнопки массива. Я пробовал искать, но не понимаю, как это сделать. Кто-нибудь может это объяснить?
вот приложение класса
class App extends React.Component {
Object.keys(data.categories).forEach((category,index) => {
arr.push(data.categories[index].name);
})
render() {
return (
<div>
<Categories
categoryName = { this.state.categoryName }
/>
</div>
а вот категории, использующие реквизиты
const Categories = props => (
<div>
<br />
{ props.categoryName && <button> { props.categoryName } </button>}
</div>
);
Привет, @JigneshRaval. Я использую вызов API, поэтому он в формате JSON, например, {категории: {1,2,3,4,5 .....}}.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно сопоставить свой массив categoryName
const Categories = props => (
<div>
<br />
{ props.categoryName &&
props.categoryName.map(name => <button>{name}</button>)}
</div>
);
О, понятно, спасибо за простое решение по его отображению!
Предполагая, что ваши категории представляют собой массив объектов в состоянии вашего компонента, map по категориям состояний и возвращает компонент Category с каждой итерацией массива.
function Category({ categoryName }) {
return (<button>{categoryName}</button>);
}
class App extends React.Component {
constructor(props) {
super(props);
this.state = { categories: [ { categoryName: 'Bob', type: 'string' }, { categoryName: 'Trevor', type: 'number' }] };
}
render() {
return (
<div>
{this.state.categories.map(category => {
return <Category categoryName = {category.categoryName} />
})}
</div>
)
}
}
ReactDOM.render(
<App />,
document.getElementById('container')
);<script src = "https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id = "container"></div>
Привет, @Kevin, не могли бы вы предоставить образец объекта данных, который вы пытаетесь перебрать.