Giter Club home page Giter Club logo

react-ui-interactions's Introduction

UI Inspirations for React

React UI Interactions

A collection of UI concepts packed into set of small react projects. The idea behind is to leverage the latest community practices to provide useful patterns for your real-world project. By presenting specific UI elements you will learn basic and advanced solutions covering: animations & transitions, microinteractions, responsiveness, navigation, data fetching, state manipulation.

Motivation

Building web application requires solving many UI problems. There are a ton of libraries that help to solve a prticular case but very often you would come up with your own solution. In that case this repository allows you to discover useful patterns for typical challenges while working on user interfaces. As you probably have noticed, project is written in react. I just feel comfortable using it. However, I think that the solutions presented here can be successfully used in other component based frameworks.

Principles

  • ๐ŸŽฏ Direct - Embraces explicit and co-located code which is easy to delete and move from one place to another. This is an optimization for change as the change is the thing which will eventually happen. The code is direct and specific which makes it easy to copy and adapt for your needs.
  • ๐Ÿ Simple - The only way to achieve flexibility is to make things as simple and easy to change as you can. Following The Rise of "Worse is Better"

    The design must be simple, both in implementation and interface. It is more important for the interface to be simple than the implementation.

  • ๐Ÿ† No classes - Only functional components.
  • โฃ๏ธ Hooks - Uses hooks all the way (available as of react 16.7.0-alpha).
  • ๐Ÿ–– Code splitting - Uses React.lazy along with import() and let the webpack do the job.
  • โฑ๏ธ Suspense - React suspense for code splitting.
  • ๐Ÿ’… CSS-in-JS - It's based on styled components for the look and feel.
  • ๐Ÿ“ฆ Promote defaults - As little configuration as possible. Uses defaults wherever it can.

How to Use

  • Just copy & paste whatever you need.
  • Be inspired. Find UI solution you like and adapt it to your environment.

Dependencies

It's important to note that some low level tasks still need a libraries to allow focusing on more important aspects. All dependencies in this project were picked very carefully considering the principles mentioned earlier.

  • Reach Router Because it's straighforward, composable and does directly what it should. Nothing more.
  • Styled Components Simply CSS in JS with great documentation. Why not emotion? I don't know. If there is a reason I should know about, let me know!
  • React Spring As the modern UI is often built upon meaningful animations, everything that encourages using them is great. The library lately offers a nice hooks API which plays directly with the DOM for better performance.

Legal

MIT License Copyright ยฉ 2019-present, Mike Skowronek

react-ui-interactions's People

Contributors

abrzezinski94 avatar coderitual avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.