Я пытался создать "простой" массив. У меня есть 2 переменные, с которыми я хочу провести расчеты, а затем добавить результат в массив в ReactJS.
// Import Node Modules
import styled, { css } from 'styled-components'
import PropTypes from 'prop-types'
import React, { Component } from "react";
// Variables
const columns = props => props.columns; // is set to 3
const width = props => props.width; // is set to 300
const Breakpoint = width * columns;
let list = "";
// this should be generated by looping over columns and width like [1*300,2*300,3*300]
/*
const sizes = [];
var i;
for (i = 0; i < columns; i++) {
sizes.push(width * i)
}
*/
// but this obvisouly doesn't work in react :(
const sizes= [300,600,900]
// Class
{sizes.map(function(size, index){
list = list + `@media (min-width: ${size}px) { grid-template-columns: repeat(${index + 1}, 1fr);};`
})}
let medias = css`${list}`;
export const GridContainer = styled.div`
display: grid;
grid-gap: ${props => props.gap}px;
${medias}
`
Я надеюсь, что кто-нибудь сможет направить меня в правильном направлении.
Вы также используете Array.prototype.map () с классическим синтаксисом функции (ES5) ... но у вас нет оператора return внутри тела функции.
ширина и столбцы являются свойствами стилизованных компонентов, взятыми из <GridContainer columns = "3" gap = "3" width = "300">
не могли бы вы немного отредактировать код и поместить в песочницу? И объясните нам, что вы ожидаете увидеть ... codeandbox.io/s/q95xq9p0n4
Я отредактировал песочницу, чтобы вы могли видеть, что я пытаюсь сделать / она работает, но просто хочу получить размеры массива [] вместо жесткого кодирования
Моя песочница codeandbox.io/s/0q0p1j0y8w
разобрался, добавил рабочий код в свою песочницу



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


Учитывая, что
columnsиwidthявляются функциями,const Breakpoint = width * columns;не имеет смысла - вы не можете объединить функцию с помощью функции. То же и дляfor (i = 0; i < columns; i++) {. Также не очевидно, что должен делать этот// Class {sizes.map(function(size, index){.