前提 ES2015の全機能ではありません。Reactを学ぶために知っておくべきWeb開発の知識とES2015の一部機能をできるだけわかりやすくまとめました。 (個人的見解も多くあるのでご留意ください) Web開発知識 利用するWeb開発ツールのまとめ パッケージマネージャー パッケージをインストールする際に開発者がそれぞれのPCに自由にインストールしてしまうとバージョンがバラバラになるのを防ぐ Aさん、Bさんが自由に開発環境を構築すると、Aさんは使えるつもりでも本番環境やBさんは使えない機能がでてくるのを防ぐ package.jsonなどを利用することで同じ環境を容易に再現することができる モジューラバンドラー 開発はファイルを分けて効率的に作業し、本番用にビルドするときに1つのファイルにまとめてくれる ファイルが減ることによって、読み込み回数が減ってパフォーマンスアップしてくれる 現在
世間に死ぬほど色々な方法があるのはわかっているがとにかくまっさらな状態から最短手順でEmacsでJSX/TSXが書けるようになりたい! という話。VSCodeとかそういう話には目を背ける。 tsxファイルはweb-modeで起動するようにすればシンタックスハイライトとインデントはうまくいくので、あとはlspを起動するようにすれば快適です!— つかもとたけし (@itometeam)2023年1月23日 自分で調べつつ試行錯誤したんだけど、最終的にはこのtweetで教えてもらった通りになった。メジャーモードとしてweb-modeを使いつつflycheckとLSPで開発支援。macOSにインストールしたEmacs*1、およびMELPAにあるパッケージだけで、以下のようになった。 (require 'web-mode) (add-to-list 'auto-mode-alist '("\\.
皆さんこんにちは。先日公開した以下の記事は多くの方にご覧いただきありがとうございます。 この記事に対して多く見られた反響のひとつは、コンポーネント内に use(fetchNote(id)) という非同期処理を行うコードが含まれていることに対する違和感です。 functionNote({id, shouldIncludeAuthor}) { // ↓↓↓↓↓ constnote = use(fetchNote(id)); let byline = null; if (shouldIncludeAuthor) { const author = use(fetchNoteAuthor(note.authorId)); byline = <h2>{author.displayName}</h2>; } return ( <div> <h1>{note.title}</h1> {byline}
動機 業務でstyled-componentsを触る機会がありました。styled-componentsは自分の周りではあまり良い噂を聞いていなかったため、少し調べたところこんな記事がHitしました。 記事の内容としては 様々な基礎概念を隠蔽しすぎている 使うことのメリットデメリットや、隠蔽されている部分の理解をしたチームでないと使わないほうが良い という内容です。 なので、しっかりと順を追って復習しました。 環境 viteで作成したReact18のTypeScriptプロジェクトで実施。Reactの利用は関数型コンポーネントを前提としています。 Refを軽くおさらい 公式Docを見ていただくのが一番正確です。 公式では 一般的なReact のデータフローでは、props が、親コンポーネントがその子要素とやりとりする唯一の方法です。子要素を変更するには、新しい props でそれを
どうも、sakitoです。 今回は私の推しフロントエンドディレクトリ構成と気をつけたいポイントを紹介します。ちぇけら!2023年5月29日 追記 この記事を読みにきていただきありがとうございます。 私が記事を書いた時期はまだNext.jsのApp Routerが発表されたばかりで、App Routerを使用したディレクトリ構成の考慮はされていません。 先日、App Routerがリリースされ、Next.jsのドキュメントにApp Routerのディレクトリ構成について記事が出ているので、Next.jsを使用されている場合は、まず参照することをオススメします。 はじめに 今回、私の紹介する推し構成は、機能単位で設計するパターンです。Reactのディレクトリ構成のベストプラクティスを集めたBulletproofReactで紹介されているパターンにかなり似ています。さらに詳細なプロダクト構
注意 この記事に書いてあることは古い情報になっている可能性があります 最近ReduxToolkit周りの進化がめざましく、更に追加されたReduxのドキュメントの項目がかなりわかりやすく書かれているため、基本的にこちらを推奨します 既にRTKなどの概要を知っているひとは特に Tutorials > Redux Essentials のセクションを読んでほしいです こんにちは、すずですReactを使い始めて2年半経ち、その間に3つのサービス(SPA)を立ち上げてきました その経験から、React や Redux を実務でしっかり使ってく上でのノウハウを紹介していきます (この記事ではある程度ReactやReduxの記事・ドキュメントを読んだ初学者を対象としています) 序フロントエンド、モノを作ったはいいものの、「変更しづらい」「スケールしない」「この作りではパフォーマンスが出ない」って
We aregoing to rewriteReact fromscratch. Step by step. Following the architecture from the realReact code but without all the optimizations and non-essential features. If you’ve read any of my previous “build your ownReact” posts, the difference is that this post is based onReact 16.8, so we can now use hooks and drop all the code related to classes. You can find the history with the oldblo
presentation for https://reactjs-meetup.connpass.com/event/130682/ reference https://corp.rakuten.co.jp/careers/interview/takahiro/ https://speaker…
importReact, { Dispatch, useContext, useReducer, useState, useCallback } from "react"; import { Route,Switch, Link } from "react-router-dom"; import styled, {createGlobalStyle } from "styled-components"; import { Action, reducer, RootState } from "./reducer"; import * as actions from "./reducer"; // RootState context export const RootContext =React.createContext<RootState>(null as any); export
Reactのチュートリアル、たくさんありますよね。どれも質が高く、どこから手をつければいいかわからなくなっちゃいます。 ですがやはり巷のチュートリアルには面倒な問題もあります。今回は面倒ごとを全部すっ飛ばしてReactでのウェブアプリ作りに入門してみましょう。Reactを始めるには、まずあれとこれとそれとどれと……Reactやるには、まずNode.js入れてbabel入れてreact入れてreact-router入れて、ついでにredux入れてreact-redux入れて、redux-saga入れて……Reactめんどくせえ!!!ってのが正直なところだと思います。はい、私もそう思います。ただ、まあ、色々必要なのも事実なので……。 それでもやっぱり「ReactやるならReactだけやりたい。他はどうでもいい」という気持ちは簡単に捨てられるものではありません。そこで今回はそういう面倒全部
はじめに こんにちは!Air メイト開発エンジニアの@sadnessOjisanです。Air メイトでは、サービス検討から 2 年ほど、PMF (Product Market Fit) を達成するために、次々と新機能を開発していました。PMF が少しずつ見えて来て、開発も少しずつ落ち着いてきたため、2 ヶ月ほど前から機能開発だけでなく、コードの品質を見直すべくテストや型を書きはじめました。 ただ私は、Web デザインの延長でJavaScript を書き始めたエンジニアで、型にあまり馴染みがない開発者でした。 そこで型を書くために、「JavaScript 型 書き方」で検索しましたが、当時の私が理解できるような丁寧な記事や、実務で型をつけるためのプラクティス集が見当たらなくて困っていた。たまたま、バックエンドチームにとても型について詳しい方がいらっしゃったので、その方に色々と教えてもら
最近の仕事ではJSがあんまりなくてページ数はそこそこあるみたいなサイトを作ってることが多い。作り方として、コンポーネントごとにPugのmixinとかNunjucksのmacroで抽象化してマークアップが壊れないようにしてるんだけど、これらだとコンポーネントを実装するための機能として微妙。具体的には、ノードを挿入できる箇所が1箇所に限定されてることとエディタの補完がない。 mixin Disclosure(params = {}) - const props = Object.assign({ initialExpanded: false, detailsId:ulid(), }, params) .Disclosure(role="group")&attributes(attributes) button.Disclosure__summary(type="button" aria-ex
エムスリーエンジニアの岩本です。 この記事は エムスリー Advent Calendar 2018 の23日目の記事です。React.jsやVue.jsを使えれば、開発のベストプラクティスなどがあるので、メンテナンス性の高いプログラムはずいぶんと書きやすくなったと思います。本当に仮想DOMの功績は大きいですね。 しかし、世の中にはそういったライブラリを使うことができないプロジェクトもあるわけです。古すぎて、一部分だけ最新のソースコードにすることが憚られたり、サイズの問題でライブラリを入れることができなかったり。。。 その場合どのように書けばメンテナンス性の高いプログラムを書くことができるのでしょうか。そこでIE6時代からJavaScriptをもりもりと書いている私なりのベストプラクティスを紹介します。 そもそもなぜメンテナンス性の悪いコードとなってしまうのか jQueryではセレクタで
Mercari Advent Calendar 2018 の6日目はフロントエンドチームの @vwxyutarooo がお送りします。 このタイトルが言いたくて Micro Frontends の記事を書きました。皆さんは Micro Frontends という言葉を聞いたことがあるでしょうか? 私は数ヶ月前まで全く知りませんでした。メルカリのフロントエンドチームにて Micro Frontends に関して考える機会があったので、Micro Frontends とはなんなのか。何をどのように解決しようとしているのかという内容を紹介します。 Micro Frontends とは Micro Frontends という考え方は ThoughtWorksTechnology Radar にて2016年に初めて登場したと言われています。日本語で言うときは複数形は無視して "マイクロフロントエン
CSS-in-JSはJavaScriptを使用してコンポーネントをスタイルするテクニックです。Reactには従来のCSSに加えて、スタイリングのオプションとして、インラインスタイルとCSS-in-JSがあります。CSS-in-JSを実装するライブラリでできる5つの便利なテクニックを紹介します。 5 things you can do inCSS-in-JS that you didn’t know about originally published atLogRocket 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに 1. 他のスタイル付きコンポーネントを参照 2. ライブラリの機能をJSSで拡張 3. 複数のアニメーションをキーフレームで連結 4. グローバルスタイルを宣言 5. スタイルによるコンポーネ
日常的にVueを使用している開発者が、Reactはどうなのだろうと思い、ReactとVueで全く同じアプリを作成した時のそれぞれの工程を比較して分かった相違点を紹介します。 Icreated the exact same app inReact andVue. Here are the differences. 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 隣の家の芝生は青く見えるVueとReactで作成したアプリの見た目を比較VueとReactはデータをどのように変更させるか アイテムの新規作成 アイテムの削除 イベントリスナーを渡す 子コンポーネントにデータを渡す 親コンポーネントにデータを戻す 終わりに 隣の家の芝生は青く見える 私は現在の職場でVueを使用しており、Vueがどのように機能するかかなり理解してい
今回はRailsの素振り ただ今回のメインはフロントでやりたいことはTypeScript +React + SSR SSRは今回はAirbnbがOSSとして出しているhypernovaを使用しましたgithub.com 環境 環境は以前次の記事で使用した環境を使用します hatappi.hateblo.jp $ruby -vruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17] $rails -vRails 5.1.6 準備 今回は次のコンポーネントをSSRで表示したいと思います コードはapp/javascript/components/hello_react.tsxに追加したとします import * asReact from "react"; import { renderReact } from "hyp
/* @flow */ importReact from "react" import styled from "styled-components" import pure from "recompose/pure" type Props = {| value: string |} export default pure(function Example(props: Props) { const { value } = props return ( <Container> <Value>{value}</Value> </Container> ) }) const Container = styled.div` width: 100%; height: 100%; display: flex;justify-content: center; align-items: center;
最近ReactとVueをどっちも触る機会があったり、「ReactとVueどう選定するの?」という問いを投げられ、スッと答えられなかったな、と後悔があったりしていたので、Vueを触って得られた感想をまとめてみる。 結論としてなにか新しいことを発見したというものではなく、世間で言われている事を自分なりに再構築しただけの結論になったと思う。 TL; DRVueからは全体的に優しさ(Gentleさ)を感じる事が多く、良い点だと感じた大規模になるときReactの堅牢さは魅力的。Vueが大きくなった時に支えられ設計が出来るかは個人的には懐疑的。「こうだったらVue、こうだったらReact」みたいな分岐点があるというわけではないので、最終的には好みになってくると思う。ぞうさんが好きかきりんさんが好きか。これまでのフレームワーク遍歴今回の話をするにあたって、僕と各フレームワークの付き合いをまとめておくと、
Typetalk チームフロントエンドエンジニアの岡藤(@johnykei)です。先日 Typetalk Webサイトリニューアルに伴い、フロントエンドの技術を jQuery から React +styled-components に刷新しました。本記事では、React を用いた Web サイト制作についてお伝えします。 はじめに タイトルにもあるように、僕は今までJavaScript を書く必要がある時は使い慣れた jQuery を使っていました。フロントエンドエンジニアという肩書きではありますが、フロントエンドエンジニアという職種は幅広く、僕はどちらかというとページやUIのスタイリングが主な業務で、普段JavaScript を書く頻度もそんなに高くありませんでした。 最近海外ではそのような業種の人をフロントエンドデザイナーと呼ぶ動きも出てきていますが、jQuery しか使ってい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く