All Projects → wyc → semantic-ui-react-todos

wyc / semantic-ui-react-todos

Licence: MIT license
The ReactJS/Redux Todo List Example with Semantic UI Components

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to semantic-ui-react-todos

kodlama.io-javareactcamp
Java - React Camp Works | Kodlama.io
Stars: ✭ 33 (-65.62%)
Mutual labels:  react-redux, semantic-ui, semantic-ui-react
semantic-ui-react-typescript-examples
Several examples using Semantic UI, React, and TypeScript
Stars: ✭ 41 (-57.29%)
Mutual labels:  semantic-ui, semantic-ui-react
quiz-app
🏆 QuizApp is a free and open-source quiz application that lets you play fully customized quizzes right in the browser.
Stars: ✭ 97 (+1.04%)
Mutual labels:  semantic-ui, semantic-ui-react
fTboilerplate-SemanticUI
boilerplate meteor react react router V4 semantic ui
Stars: ✭ 13 (-86.46%)
Mutual labels:  semantic-ui, semantic-ui-react
Color-Pic
Generate color palettes with image recognition
Stars: ✭ 21 (-78.12%)
Mutual labels:  react-redux, semantic-ui-react
Youtube React
A Youtube clone built in React, Redux, Redux-saga
Stars: ✭ 421 (+338.54%)
Mutual labels:  react-redux, semantic-ui
Typescript Mern Starter
Build a real fullstack app (backend+website+mobile) in 100% Typescript
Stars: ✭ 154 (+60.42%)
Mutual labels:  react-redux, semantic-ui
Ecommerce Reactjs
Full stack ecommerce online store application
Stars: ✭ 164 (+70.83%)
Mutual labels:  react-redux
Comicbook
React-Native跨平台漫画App免费视频:http://www.kongyixueyuan.com/course/3528
Stars: ✭ 199 (+107.29%)
Mutual labels:  react-redux
Slack Patron
Log and view all Slack messages.
Stars: ✭ 157 (+63.54%)
Mutual labels:  react-redux
Express Webpack React Redux Typescript Boilerplate
🎉 A full-stack boilerplate that using express with webpack, react and typescirpt!
Stars: ✭ 156 (+62.5%)
Mutual labels:  react-redux
React Blog
personal blog design by react
Stars: ✭ 170 (+77.08%)
Mutual labels:  react-redux
React Ant Admin
使用 ant-design react react-hook ts 开发的类 ant-design-pro 管理后台,具有完整的权限系统和配套的node + ts 的 api
Stars: ✭ 199 (+107.29%)
Mutual labels:  react-redux
Redux First History
🎉 Redux First History - Redux history binding support react-router - @reach/router - wouter
Stars: ✭ 163 (+69.79%)
Mutual labels:  react-redux
Ssr
React Server-Side Rendering Example
Stars: ✭ 226 (+135.42%)
Mutual labels:  react-redux
React Demo Store
Moltin + React powered online store
Stars: ✭ 198 (+106.25%)
Mutual labels:  react-redux
Pokedex
List of pokémon with live search
Stars: ✭ 236 (+145.83%)
Mutual labels:  react-redux
React Ecommerce App With Redux
Stars: ✭ 220 (+129.17%)
Mutual labels:  react-redux
Alldemo
🍑 2020全栈学习Demo大合集 包含最新 hooks TS 等 还有umi+dva,数据可视化等实战项目 (持续更新中)
Stars: ✭ 189 (+96.88%)
Mutual labels:  react-redux
Iguazu
✨ Iguazu is a simple Redux-powered Async Query engine
Stars: ✭ 186 (+93.75%)
Mutual labels:  react-redux

semantic-ui-react-todos

This project is the react-redux Todo List example modified to use semantic-ui components via the semantic-ui-react integration. It is meant as a variation on a well-known example project to familiarize ReactJS developers with the installation and use of Semantic UI.

This project was bootstrapped with Create React App.

Running

$ npm install
$ npm start

The server should be live at http://localhost:3000.

How to get from react-redux todos example to this project

Requirements

When trying to build Semantic-UI, I've only had success with npm@6, node@8, and gulp@3 due to version incompatibilities of Semantic-UI with gulp@4 and >node@8 with gulp@3. Hopefully these will get fixed upstream, but until then you may have to revert versions to work with Semantic-UI at all. Here's my working setup:

$ node --version
v8.16.0
$ npm --version
6.4.1
$ gulp --version
[12:29:54] CLI version 3.9.1
[12:29:54] Local version 3.9.1

The gulp version is specified in the package.json, but you may need to setup npm and node for your system.

Install semantic-ui and semantic-ui-react

$ npm install --save semantic-ui-react 
$ npm install --save-dev semantic-ui

Follow the prompts for the semantic-ui package, choosing the most customizable option, which saves to the project directory. There's also the option to leave the semantic/ directory in node_modules/, which would result in no additional project directory files at the expense of not being able to specify a different Semantic UI theme. With these files in the project directory, theme customization can be done in semantic/src/theme.config and semantic/src/themes/. See the Semantic UI usage docs for more information.

Build and link the Semantic UI dist/ files

Semantic UI uses the tool gulp to build. If you do not have it, you may want to install it globally. The following build steps must be done after every change to themes or other modifications to semantic itself.

$ (cd src/semantic && gulp build)

We must now link the newly generated CSS file as a dependency into src/index.js so that Webpack knows to bundle it:

In src/index.js, add:

import '../semantic/dist/semantic.min.css';

Replace desired components

The best way to understand this is to peek at the source files.

  • src/components/Todo.js: The individual Todo items have been changed to Checkbox.
  • src/components/Footer.js, src/components/Link.js: The filter links have been changed to Button and its subclasses.
  • src/containers/AddTodo.js: The input box has been changed to Input, and the submit button has been changed to Button.

Notes

  • The swap-out process was very painless. ReactJS itself has great separation of concerns, and this framework respects that a lot. Aside from installing the libraries, there wasn't anything that had to be done outside of the component-specific file.
  • Caveat: Now we have more configuration files/folders to manage, but as discussed above, this isn't necessary and is simply a decision in the trade-off between customizability and configuration simplicity.
  • Caveat: Because <input /> components are nested in the Semantic UI provided <div></div>s, ref= properties on Semantic UI input elements will not work as intended. See discussions and workarounds in this thread: Semantic-Org/Semantic-UI-React#405.

Overall, I'm very happy with this framework, and I think it will play nicely with other ReactJS components without any hitches. It will definitely save me development time.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].