質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

432閲覧

Reactでの一覧ページにstyled-componentsでスタイルをあてる方法

soejima

総合スコア5

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2021/05/23 21:36

前提・実現したいこと

今、Reactを使って一覧ページを作っているのですが、色んなサイトで調べてみているのですが、
調べ方が悪いみたいで具体的な解決策が見つからず悩んでいます。
申し訳ないですが、どなたかわかる方がいれば教えていただきたいです。
よろしくお願いします。

エラー内容:

TypeError: Cannot read property 'SUB_TEXT' of undefined

ソースコード:

javascript

1import styled from 'styled-components'; 2import { COLORS, FONT_SIZE } from '../style_constants'; 3 4export const SubText = styled.p` 5 color: ${COLORS.SUB_TEXT}; ← ここでエラー 6 font-size: ${FONT_SIZE.BODY2}; 7`;

Reactサイト表示画面

javascript

1 853 | 2 854 | __webpack_require__.$Refresh$.init(); 3 855 | try { 4> 856 | modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId)); 5 | ^ 857 | } finally { 6 858 | __webpack_require__.$Refresh$.cleanup(moduleId); 7 859 | } 8 9 10 147 | ); 11 148 | hotCurrentParents = []; 12 149 | } 13> 150 | return __webpack_require__(request); 14 | ^ 151 | }; 15 152 | var ObjectFactory = function ObjectFactory(name) { 16 153 | return { 17

補足情報(FW/ツールのバージョンなど)

axios@0.21.1
react-dom@17.0.2
react-router-dom@5.2.0
react-scripts@4.0.3
react@17.0.2
styled-components@5.3.0
web-vitals@1.1.2

もっと情報等が必要であれば、対応しますのでよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FKM

2021/05/24 02:53

COLORSはCSSファイルでしょうか?中を提示してもらえませんか。
soejima

2021/05/24 13:21 編集

おそくなりすいません。 こちらがCOLORS使っているソースコードになります。 import React from 'react'; import styled from 'styled-components'; // components import { SubText } from './StyledText'; // constants import { COLORS } from '../style_constants'; const Wrapper = styled.div` display: flex; width: 450px; height: 180px; border-width: 1px; border-style: solid; border-color: ${COLORS.BORDER};←ここで使用しています。 border-image: initial; cursor: pointer; `; const FoodDetail = styled.div` padding: 24px 16px; width: 250px; `; const DescriptionWrapper = styled.div` height: 75px; ` const PriceWrapper = styled.div` margin-top: 16px; ` const FoodImageNode = styled.img` width: 250px; `; export const FoodWrapper = ({ food, onClickFoodWrapper, imageUrl, }) => ( <Wrapper onClick={() => onClickFoodWrapper(food)}> <FoodDetail> {food.name} <DescriptionWrapper> <SubText> {food.description} </SubText> </DescriptionWrapper> <PriceWrapper> ¥{food.price} </PriceWrapper> </FoodDetail> <FoodImageNode src={imageUrl} /> </Wrapper> )
guest

回答1

0

自己解決

自己解決できました。
下記のコードを定義するフォルダの場所を間違っていたことによって
エラーが発生していました。

import styled from 'styled-components';
import { COLORS, FONT_SIZE } from '../style_constants';

export const SubText = styled.p color: ${COLORS.SUB_TEXT}; font-size: ${FONT_SIZE.BODY2};;

FKMさんコメントしていただきありがとうございました!

投稿2021/05/24 21:49

soejima

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問