Цикл React для создания массива

Я пытался создать "простой" массив. У меня есть 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}
`

Я надеюсь, что кто-нибудь сможет направить меня в правильном направлении.

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

zerkms 22.07.2018 00:46

Вы также используете Array.prototype.map () с классическим синтаксисом функции (ES5) ... но у вас нет оператора return внутри тела функции.

Adam Nathaniel Davis 22.07.2018 01:07

ширина и столбцы являются свойствами стилизованных компонентов, взятыми из <GridContainer columns = "3" gap = "3" width = "300">

Flemming Krog Olsen 22.07.2018 01:19

не могли бы вы немного отредактировать код и поместить в песочницу? И объясните нам, что вы ожидаете увидеть ... codeandbox.io/s/q95xq9p0n4

leogoesger 22.07.2018 01:20

Я отредактировал песочницу, чтобы вы могли видеть, что я пытаюсь сделать / она работает, но просто хочу получить размеры массива [] вместо жесткого кодирования

Flemming Krog Olsen 22.07.2018 01:39

Моя песочница codeandbox.io/s/0q0p1j0y8w

Flemming Krog Olsen 22.07.2018 12:12

разобрался, добавил рабочий код в свою песочницу

Flemming Krog Olsen 22.07.2018 14:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
7
67
0

Другие вопросы по теме