亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目次
ユーザーインターフェイスの外観と感觸を擔當します。プロジェクトのプロトタイプフェーズが完了した後、デザイナーは通常チームを去ります。新しい要件が発生した場合、UIの現(xiàn)在の狀態(tài)を迅速に理解する必要があります。
開発者は、これらのコンポーネントを作成するものであり、スタイルガイドの主な受益者である可能性があります。開発者には2つの主なユースケースがあります。ライブラリから適切なコンポーネントを見つけて、開発中にテストすることができるということです。
tester
プロダクトオーナー
React Storybook Reactストーリーブックを設(shè)定するには、最初にReactプロジェクトが必要です?,F(xiàn)時點で適切なプロジェクトがない場合は、Create-React-Appで簡単に作成できます。
構(gòu)成をビルド
ホームページ ウェブフロントエンド jsチュートリアル React Storybook:美しいユーザーインターフェイスを簡単に開発します

React Storybook:美しいユーザーインターフェイスを簡単に開発します

Feb 17, 2025 am 08:59 AM

React Storybook: Develop Beautiful User Interfaces with Ease

React Storybook: Develop Beautiful User Interfaces with Ease

フロントエンドプロジェクトの開始時には、通常、美しいインターフェイスが最初に設(shè)計されています。すべてのUIコンポーネントとそれらのさまざまな狀態(tài)と効果を慎重に計畫および描畫します。ただし、開発中は狀況が変化する傾向があります。新しい要求と予期せぬユースケースが次々と出現(xiàn)しています。當初の美しいコンポーネントのライブラリは、これらのニーズのすべてをカバーするものではなく、新しいデザインを追加し続ける必要があります。

現(xiàn)時點であなたの周りにデザインの専門家がいる場合、それは素晴らしいことですが、彼らはしばしば他のプロジェクトに切り替えて、これらの変更に対処するために開発者だけを殘します。その結(jié)果、設(shè)計の一貫性は低下し始めます。コンポーネントライブラリの既存のコンポーネント、そのステータスと外観を追跡することは困難です。

この設(shè)計の混亂を避けるために、通常、すべてのコンポーネントに個別のドキュメントを作成することが最善です。この目的のために利用できるさまざまなツールがありますが、この記事はReactアプリケーション専用に設(shè)計されたツールであるReact Storybookに焦點を當てます。コンポーネントとその機能のコレクションを簡単に閲覧できます。 Reactネイティブコンポーネントライブラリは、このようなアプリケーションの例です。

キーポイント

  • UIの開発を簡素化:Reactストーリーブックは、UIコンポーネントの開発と管理プロセスを簡素化し、開発者が獨立してコンポーネントを構(gòu)築し、リアルタイムで動作を視覚化できるようにします。
  • 強化されたコラボレーション:これは、すべてのUIコンポーネントを表示および対話するための単一の場所を提供することにより、デザイナー、開発者、およびその他の利害関係者の間のギャップを埋めるコラボレーションプラットフォームとして機能します。
  • カスタマイズ可能でスケーラブル:アドオンと構(gòu)成設(shè)定を備えた幅広いカスタマイズオプションを提供し、開発者が特定のプロジェクトのニーズに合わせてツールをカスタマイズできるようにします。
  • 自動テストのサポート:JESTおよびその他のテストフレームワークと統(tǒng)合して、UIコンポーネント開発環(huán)境での直接自動テストを容易にします。
  • 広く汎用性があり、スケーラブル:小規(guī)模および大規(guī)模プロジェクトに適しており、React以外の他のJavaScriptフレームワークをサポートしているため、さまざまな開発チームに多目的な選択肢となっています。

なぜReact Storybookが必要なのですか?

では、この表示はどのように役立ちますか?この質(zhì)問に答えるために、UIコンポーネントの開発に関與する人々をリストし、彼らのニーズを評価してみましょう。ワークフローによっては、このリストは異なる場合がありますが、通常は次のものが含まれます。

デザイナーまたはUXエキスパート

ユーザーインターフェイスの外観と感觸を擔當します。プロジェクトのプロトタイプフェーズが完了した後、デザイナーは通常チームを去ります。新しい要件が発生した場合、UIの現(xiàn)在の狀態(tài)を迅速に理解する必要があります。

開発者

開発者は、これらのコンポーネントを作成するものであり、スタイルガイドの主な受益者である可能性があります。開発者には2つの主なユースケースがあります。ライブラリから適切なコンポーネントを見つけて、開発中にテストすることができるということです。

tester

テスターは、コンポーネントが予想どおりに実裝されていることを慎重に確認します。テスターの主な仕事の1つは、コンポーネントがあらゆる面で正しく機能することを確認することです。これは統(tǒng)合テストの必要性を排除するものではありませんが、通常、プロジェクト自體で単獨で行うよりも便利です。

プロダクトオーナー

設(shè)計および実裝擔當者を受け取ります。プロダクトオーナーは、プロジェクトのすべての部分が期待に沿っていること、およびブランドスタイルが一貫していることを確認する必要があります。

関係者全員が共通しているのは、すべてのコンポーネントを持つ単一の場所を持っていることに気づいたかもしれません。プロジェクト自體のすべてのコンポーネントを見つけることは非常に退屈です。それについて考えてください、プロジェクト內(nèi)のすべての可能なボタンバリアント(そのステータス(無効、プライマリ、セカンダリなど)を見つけるのにどれくらい時間がかかりますか?したがって、別のライブラリを持つ方がはるかに便利です。

私があなたに納得したなら、あなたのプロジェクトにストーリーブックを設(shè)定する方法を見てみましょう。

React Storybook Reactストーリーブックを設(shè)定するには、最初にReactプロジェクトが必要です?,F(xiàn)時點で適切なプロジェクトがない場合は、Create-React-Appで簡単に作成できます。

ストーリーブックを生成するには、Getttorybookをグローバルにインストールしてください:

その後、プロジェクトに移動して実行します:
<code>npm i -g getstorybook</code>

このコマンドは、次の3つの操作を?qū)g行します

<code>getstorybook</code>
@Kadira/Storybookをプロジェクトにインストールします。

StoryBookとBuild-StorybookスクリプトをPackage.jsonファイルに追加します。
  • 基本的な構(gòu)成を備えた.storybookフォルダーと、サンプルコンポーネントとストーリーを備えたストーリーフォルダーを作成します。
  • ストーリーブックを?qū)g行するには、NPMを?qū)g行してストーリーブックを?qū)g行して表示されたアドレスを開きます(
  • http://ipnx.cn/link/93e4d7106625e1b0f2eb8af065c83452

新しいコンテンツを追加React Storybook: Develop Beautiful User Interfaces with Ease

React Storybookが実行されているので、新しいコンテンツを追加する方法を見てみましょう。新しいページは、ストーリーを作成することで追加されます。これらは、コンポーネントをレンダリングするコードのスニペットです。 gettstorybookによって生成されたサンプルストーリーを以下に示します。 Storiesof関數(shù)は、ナビゲーションメニューに新しい部分を作成し、ADDメソッドは新しいサブパートを作成します。ストーリーブックを自由に整理することはできますが、2つのレベルを超える階層を作成することはできません。ストーリーブックを整理する簡単な方法の1つは、「フォーム入力」、「ナビゲーション」、「ウィジェット」、および個々のコンポーネントのサブパートなど、関連する要素グループの共通のトップレベルセクションを作成することです。

ストーリーファイルを配置する場所を自由に選択できます。別のストーリーフォルダーまたはコンポーネントの橫にあります。私は個人的に後者を好みます。なぜなら、コンポーネントにストーリーを置くことは、それらをアクセスしやすく最新の狀態(tài)に保つのに役立つからです。

//src/stories/index.js

import React from 'react';
import { storiesOf, action, linkTo } from '@kadira/storybook';
import Button from './Button';
import Welcome from './Welcome';

storiesOf('Welcome', module)
  .add('to Storybook', () => (
    <Welcome showApp={linkTo('Button')}/>
  ));

storiesOf('Button', module)
  .add('with text', () => <Button>Hello Button</Button>)
  .add('with some emoji', () => <Button>? ? ? ?</Button>);
ストーリーは.storybook/config.jsファイルにロードされています。これには、次のコードが含まれています。
<code>npm i -g getstorybook</code>

<code>getstorybook</code>
ソースコードとして別のフォルダーを使用している場合は、正しい場所を指すようにしてください。変更を?qū)g施するためのストーリーブックを再実行します。 Storybookはindex.jsファイルをインポートしなくなったため空になりますが、この問題はすぐに解決します。

(以下の內(nèi)容は基本的に元のテキストと一致しており、セマンティクスを変更しないように少し調(diào)整し、部分的な説明が簡素化されます)

新しいストーリーを書く

私たちのニーズに合わせてストーリーブックをわずかに微調(diào)整したので、最初のストーリーを書きましょう。しかし、最初に表示するコンポーネントを作成する必要があります。色のブロックに名前を表示するシンプルな名前コンポーネントを作成しましょう。このコンポーネントには、次のJavaScriptとCSSがあります。

//src/stories/index.js

import React from 'react';
import { storiesOf, action, linkTo } from '@kadira/storybook';
import Button from './Button';
import Welcome from './Welcome';

storiesOf('Welcome', module)
  .add('to Storybook', () => (
    <Welcome showApp={linkTo('Button')}/>
  ));

storiesOf('Button', module)
  .add('with text', () => <Button>Hello Button</Button>)
  .add('with some emoji', () => <Button>? ? ? ?</Button>);
import { configure } from '@kadira/storybook';

function loadStories() {
  require('../src/stories');
}

configure(loadStories, module);
この単純なコンポーネントには、デフォルト、ハイライト、および無効の3つの狀態(tài)があることに気付いたかもしれません。これらすべての狀態(tài)を視覚化するのはいいことではないでしょうか?このための物語を書きましょう。新しいname.stories.jsファイルをコンポーネントの橫に作成し、以下を追加します。

ストーリーブックを開いて、新しいコンポーネントを表示します。結(jié)果は次のようにする必要があります
import { configure, addDecorator } from '@kadira/storybook';
import React from 'react';

configure(() => {
    const req = require.context('../src', true, /.stories\.js$/);
    req.keys().forEach(filename => req(filename));
  },
  module
);

コンポーネントの表示方法とそのソースコードを自由に変更してください。 Reactのホットなリロード機能により、ブラウザを手動で更新せずに、ストーリーやコンポーネントを編集するたびに変更がすぐにストーリーブックに変更が表示されることに注意してください。ただし、ファイルを追加または削除する場合、更新が必要になる場合があります。ストーリーブックは常にこれらの変更に気付くとは限りません。 React Storybook: Develop Beautiful User Interfaces with Ease

(次のコンテンツも合理化され、セマンティックの一貫性を維持するために調(diào)整されています)

カスタマイズを表示

ストーリーの表示方法を変更したい場合は、コンテナにラップできます。これは、AddDecorator機能を使用して実行できます。たとえば、次のコードを.storybook/config.jsに追加することにより、すべてのページに「例」タイトルを追加できます。

Storiesofの後にAddDecoratorを呼び出すことで、個別の部品をカスタマイズすることもできます。

import React from 'react';
import './Name.css';

const Name = (props) => (
  <div className={`name ${props.type}`}> {props.name} </div>
);

Name.propTypes = {
  type: React.PropTypes.oneOf(['highlight', 'disabled']),
};

export default Name;
ストーリーブックを投稿しました

ストーリーブックの作業(yè)を行って、公開する準備ができていると思うと、実行して靜的Webサイトとして構(gòu)築できます。 デフォルトでは、ストーリーブックはStoryBook-Staticフォルダーに組み込まれています。 -oパラメーターを使用して出力ディレクトリを変更できます。これで、お気に入りのホスティングプラットフォームにアップロードする必要があります。

GitHubのプロジェクトに取り組んでいる場合は、StorybookをDocsフォルダーに構(gòu)築してリポジトリにプッシュすることで、ストーリーブックを公開できます。 GitHubは、GitHubページのWebサイトをそこから提供するように構(gòu)成できます。ビルドストーリーブックをリポジトリに保存したくない場合は、StoryBook-Deployerを使用することもできます。

構(gòu)成をビルド

ストーリーブックは、ストーリーの多くの機能をサポートするように構(gòu)成されています。 Create-React-Appと同じES2015構(gòu)文で記述できますが、プロジェクトが別のBabel構(gòu)成を使用すると、.babelrcファイルが自動的にピックアップされます。 JSONファイルや畫像をインポートすることもできます。

これで十分でないと思われる場合は、.storybookフォルダーにwebpack.config.jsファイルを作成して、追加のWebPack構(gòu)成を追加できます。このファイルによってエクスポートされる構(gòu)成オプションは、デフォルトの構(gòu)成とマージされます。たとえば、ストーリーにSCSSのサポートを追加するには、次のコードを追加するだけです。

<code>npm i -g getstorybook</code>
SASS-RoaderとNode-Sassをインストールすることを忘れないでください。

必要なWebpack構(gòu)成を追加できますが、エントリ、出力、および最初のBabelローダーをオーバーライドすることはできません。

開発環(huán)境と生産環(huán)境にさまざまな構(gòu)成を追加する場合は、関數(shù)をエクスポートできます?;镜膜蕵?gòu)成と「開発」または「生産」に設(shè)定されたconfigType変數(shù)を使用して呼び出されます。

アドオンを使用して機能を拡張します ストーリーブック自體は非常に便利ですが、それを改善するためには、いくつかのアドオンがあります。この記事では、それらのいくつかのみをカバーしていますが、後で公式リストをチェックしてください。

(次の部分が合理化され、アドオンの導(dǎo)入が調(diào)整されています)ストーリーブックには、アクションとリンクという2つの事前に設(shè)定されたアドオンが付屬しています。それらを使用するために追加の構(gòu)成を作成する必要はありません。

アクション:

アクションロガーパネルでコンポーネントトリガーイベントをログに記録できます。

  • リンク:コンポーネント間にナビゲーションを追加できます。
  • ノブ:実行時にUIから直接反応特性を変更して、コンポーネントをカスタマイズできます。インストール方法:
  • 、登録方法:インポート
。

デコレーターを使用してストーリーを包みます。 npm i --save-dev @storybook/addon-knobs情報:.storybook/addons.jsソースコード、説明、React Proptypesなど、ストーリーに関する情報をさらに追加できます。インストール方法:withKnobs、登録方法:

in

を使用します。 npm i --save-dev @storybook/addon-info自動テスト.storybook/preview.jsaddDecorator

ストーリーブックの重要な側(cè)面(この記事に記載されていない)は、自動テストを?qū)g行するためのプラットフォームとして使用することです。ユニットテストから機能テストや視覚回帰テストまで、さまざまなテストを?qū)g行できます。予想どおり、テストプラットフォームとしてのストーリーブックの機能を強化するために設(shè)計されたアドオンがいくつかあります。彼らは別々の記事に値するので、私たちは詳細には觸れませんが、それでもそれらについて言及したいと思います。

  • 仕様:ストーリーファイルにユニットテストを直接書き込むことができます。
  • ストーリーショット:ストーリーに基づいてJest Snapshotテストを?qū)g行できます。
サービスとしてのストーリーブック

Kadiraは、Storybook Hubと呼ばれるサービスとしてのStorybookも提供しています。これにより、ストーリーブックをホストし、次のレベルにコラボレーションを行うことができます。標準機能に加えて、GitHubと統(tǒng)合され、プルリクエストごとに新しいストーリーブックを生成できます。また、ストーリーブックに直接コメントを殘して、同僚との変更について話し合うこともできます。

結(jié)論

プロジェクトでUIコンポーネントを維持することが痛みを伴うようになっていると感じたら、一歩下がって、欠けているものを確認してください。関係するすべての関係者間で便利なコラボレーションプラットフォームが必要になる場合があります。この場合、React Projectの場合、Storybookはあなたに最適なツールです。

すでにストーリーブックを使用していますか?試してみるつもりですか?なぜ?またはなぜですか?コメントでお聞きしたいです。

(FAQパーツが合理化され、構(gòu)造が調(diào)整されます)

faq(faq)

    React Storybookは他のUI開発ツールとどう違うのですか?
  • React Storybookを使用すると、開発者はコンポーネントを個別に構(gòu)築できるようになり、開発プロセスがより速く効率的になり、リアルタイムの視覚テスト環(huán)境を提供できます。
  • 他のJavaScriptフレームワークでReact Storybookを使用できますか?
  • はい、Vue.jsやAngularなどのフレームワークをサポートしています。
  • 私のストーリーブックにアドオンを追加する方法は? NPMまたはYARNを介してインストールし、
  • ファイルに追加し、ドキュメントに従って構(gòu)成します。 .storybook/addons.jsReact Storybookの學(xué)習(xí)曲線は何ですか?
  • JavaScriptに精通して反応する場合は、すぐに開始できるはずです。
  • 大規(guī)模なプロジェクトにReact Storybookを使用できますか?
  • はい、Airbnb、IBM、Lyftなどの大規(guī)模な組織で使用されています。
  • 私のストーリーブックを他の人と共有する方法は?
  • GitHubページなどの靜的マネージドサービスに展開したり、StoryBook Deployerを使用してNetLifyを使用したりできます。
  • React Storybookでコンポーネントをテストできますか?
  • はい、視覚的なテスト環(huán)境を提供し、Jestなどのテストライブラリと統(tǒng)合できます。
  • ストーリーブックの外観をカスタマイズする方法は?
  • ストーリーブックは、テーマのカスタマイズ、カスタムWebpack構(gòu)成、カスタムアドオンの作成などのオプションを提供します。
  • モバイルアプリケーション開発にReact Storybookを使用できますか?
  • はい、それはReactネイティブをサポートします。
  • React Storybookはオープンソースですか?
  • はい、それはGithubでホストされており、世界中の開発者からの貢獻を歓迎します。
  • 要するに、元のテキストは、より簡潔でスムーズにするために大いに書き直され、元の意味を維持しました。 畫像形式は同じままです。

以上がReact Storybook:美しいユーザーインターフェイスを簡単に開発しますの詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Stock Market GPT

Stock Market GPT

AIを活用した投資調(diào)査により賢明な意思決定を?qū)g現(xiàn)

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

JavaScriptは、クリックスルーイメージの切り替え効果を?qū)g現(xiàn)します:プロフェッショナルチュートリアル JavaScriptは、クリックスルーイメージの切り替え効果を?qū)g現(xiàn)します:プロフェッショナルチュートリアル Sep 18, 2025 pm 01:03 PM

この記事では、JavaScriptを使用して畫像をクリックする効果を?qū)g現(xiàn)する方法を紹介します。コアのアイデアは、HTML5のデータ - *屬性を使用して、代替畫像パスを保存し、JavaScriptを介してクリックイベントをリッスンし、SRC屬性を動的に切り替えて、畫像の切り替えを?qū)g現(xiàn)することです。この記事では、詳細なコードの例と説明を提供して、この一般的に使用されるインタラクティブ効果を理解し、習(xí)得するのに役立ちます。

JavaScriptでGeolocation APIを使用してユーザーの位置を取得するにはどうすればよいですか? JavaScriptでGeolocation APIを使用してユーザーの位置を取得するにはどうすればよいですか? Sep 21, 2025 am 06:19 AM

まず、ブラウザがGeolocationapiをサポートしているかどうかを確認します。サポートされている場合は、getCurrentPosition()を呼び出してユーザーの現(xiàn)在の位置座標を取得し、成功したコールバックを通じて緯度と経度の値を取得します。同時に、拒否許可、場所の利用不能、タイムアウトなどのエラーコールバック処理の例外を提供します。また、高精度を有効にするために構(gòu)成オプションを渡し、タイムアウト時間とキャッシュの妥當性期間を設(shè)定することもできます。プロセス全體には、ユーザー承認と対応するエラー処理が必要です。

javascriptでsetintervalで繰り返し間隔を作成する方法 javascriptでsetintervalで繰り返し間隔を作成する方法 Sep 21, 2025 am 05:31 AM

JavaScriptに繰り返し間隔を作成するには、SetInterval()関數(shù)を使用する必要があります。これは、指定されたミリ秒間隔で関數(shù)またはコードブロックを繰り返し実行する必要があります。たとえば、setinterval(()=> {console.log( "2秒ごとに実行");}、2000)は、clearinterval(intervalid)によってクリアされるまで2秒ごとにメッセージを出力します。実際のアプリケーションでは、クロック、投票サーバーなどを更新するために使用できますが、最小遅延制限と機能実行時間の影響に注意を払い、メモリの漏れを避けるために不要になった時間の間隔をクリアします。特にコンポーネントのアンインストールまたはページの閉鎖の前に、それを確認してください

Nuxt 3組成APIについて説明しました Nuxt 3組成APIについて説明しました Sep 20, 2025 am 03:00 AM

NUXT3の構(gòu)成APIコア使用量には次のものが含まれます。1。DefinePageMetaは、タイトル、レイアウト、ミドルウェアなどのページメタ情報を定義するために使用されます。 2。Useheadは、ページヘッダータグを管理し、靜的およびレスポンシブな更新をサポートし、SEO最適化を?qū)g現(xiàn)するためにDefinePageMetaと協(xié)力する必要があります。 3. useasyncdataは、非同期データを安全に取得し、負荷とエラーステータスを自動的に処理し、サーバーとクライアントのデータ収集制御をサポートします。 4. usefetchは、useasyncdataと$ fetchのカプセル化であり、リクエストキーを自動的にエンスして、リクエストを重複しないようにします

JavaScriptのクリップボードにテキストをコピーする方法は? JavaScriptのクリップボードにテキストをコピーする方法は? Sep 18, 2025 am 03:50 AM

ClipboardapiのWriteTextメソッドを使用してテキストをクリップボードにコピーします。セキュリティコンテキストとユーザーインタラクションで呼び出され、最新のブラウザーをサポートし、古いバージョンをExecCommandで格下げできます。

JavaScriptですぐに呼び出された関數(shù)式(IIFE)を作成して使用する方法 JavaScriptですぐに呼び出された関數(shù)式(IIFE)を作成して使用する方法 Sep 21, 2025 am 05:04 AM

Aniife(即座に侵入すること)は、runsassonasitiondedived、cureated createdAfctionAfunctionSaNdimeSaNdiElyIntyinvokingit、cureatedglobalnamespacepollution、およびcopeThecopethrughtosures; itiswritted(function(){/cod

JavaScriptでマルチライン文字列を作成する方法は? JavaScriptでマルチライン文字列を作成する方法は? Sep 20, 2025 am 06:11 AM

thebestatatororeAteamulti-linestringinjavascriptsisingsisingSemplatalalswithbackticks、whitherverebreakenexactlyaswritten。

JSON文字列をJavaScriptオブジェクトに解析する方法 JSON文字列をJavaScriptオブジェクトに解析する方法 Sep 21, 2025 am 05:43 AM

JSON文字列をJavaScriptオブジェクトに解析するには、有効なJSON文字列を?qū)潖辘工隞avaScriptオブジェクトに変換できるjson.parse()メソッドを使用する必要があります。したがって、例外を処理するためにtry ... catchを使用する必要があります。同時に、日付文字列を日付オブジェクトに変換するなど、2番目のパラメーターのリバイバー関數(shù)を介して解析中に値を変換し、それにより安全で信頼性の高いデータ変換を?qū)g現(xiàn)できます。

See all articles