<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/asayer/best-of/2023/01" -->

---
title: Best asayer posts — January 2023 | daily.dev
description: The most upvoted asayer posts from January 2023, curated by the daily.dev community.
canonical: https://daily.dev/sources/asayer/best-of/2023/01
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/asayer/best-of/2023/01
og:type: website
og:site_name: daily.dev
og:title: Best asayer posts — January 2023 | daily.dev
og:description: The most upvoted asayer posts from January 2023, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of asayer — January 2023

1. 1  
[](https://daily.dev/posts/state-management-in-next-js-with-redux-toolkit-phwfis7gc "State Management in Next.js with Redux Toolkit")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 4y  
State Management in Next.js with Redux Toolkit  
Redux Toolkit is a collection of pre-built tools, functions, and structures that make it easier to work with Redux. You can use these tools and solutions as a starting point and customize them to fit your needs. The complete demo is available on CodeSandbox, and its source code is on GitHub.  
57  
5
2. 2  
[](https://daily.dev/posts/introduction-to-pure-css-iq3vphxuh "Introduction to Pure.css")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 4y  
Introduction to Pure.css  
Pure.css makes it simple to build quick-loading, mobile-friendly websites that look amazing on any device since it is meant to be lightweight, modular, and responsive. To make default styles consistent across many browsers, Normalize.css is used to build Pure. CSS is designed to be minimal and lightweight.  
54  
8
3. 3  
[](https://daily.dev/posts/doing-animations-in-react-with-framer-motion-wzcbuzzwb "Doing animations in React with Framer Motion")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 4y  
Doing animations in React with Framer Motion  
We will look at the most popular and easy-to-use animation library in React, Framer motion. We’ll see how we can easily add it to our React application and create amazing animations. Framer Motion is an open-sourced, production-ready React animation library that provides users with a non-complex API.  
53
4. 4  
[](https://daily.dev/posts/how-to-read-and-write-json-in-javascript-fjjvayefl "How to Read and Write JSON in JavaScript")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 4y  
How to Read and Write JSON in JavaScript  
JSON is a data exchange format based on a subset of JavaScript syntax. It is a lightweight format, and its strengths are that it is easy for humans to read and for machines to parse. On the other hand, JavaScript is a weakly typed language used primarily for front-end and back-end development.  
38  
3
5. 5  
[](https://daily.dev/posts/promises-in-parallel-ve4yjzl5j "Promises in Parallel")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 4y  
Promises in Parallel  
The idea of running promises in parallel often comes up when you have to manage multiple unrelated promises. In JavaScript, a promise is an object that represents the initial evaluation and eventual result of an asynchronous operation in one of three states. The code block below shows a practical example of how to work with promises.  
29  
1
6. 6  
[](https://daily.dev/posts/an-introduction-to-spectre-css-cziexfyld "An Introduction to Spectre CSS")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 4y  
An Introduction to Spectre CSS  
Spectre.css is built with a mobile-first approach and uses a flexbox-based grid system to create responsive layouts. It also includes a number of utility classes for common styles, such as text alignment, margin, padding, and visibility. It is made to be flexible and compatible with current web development tools like task runners, package managers.  
29  
6
7. 7  
[](https://daily.dev/posts/angular-react-vue----a-three-way-comparison-jrnrskfrq "Angular, React, Vue -- A three-way comparison")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 4y  
Angular, React, Vue -- A three-way comparison  
Angular, React, and Vue can be used almost interchangeably to build front-end applications. But they’re not entirely the same, so it makes sense to compare them and understand their differences. This article will break down the differences between the two through the lens of a new developer.  
28  
1
8. 8  
[](https://daily.dev/posts/react-social-logins-with-passport-js-7couy6fv1 "React Social Logins with Passport JS")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 4y  
React Social Logins with Passport JS  
Passport.js is a popular authentication middleware for Node.js that provides a simple and flexible way to authenticate requests made to a web application. It can be used with various authentication mechanisms, such as username and password, two-factor authentication, or social media login, to provide a secure and flexible authentication system.  
26  
1
9. 9  
[](https://daily.dev/posts/working-with-css-gradients-ezxov-vqr "Working With CSS Gradients")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 4y  
Working With CSS Gradients  
CSS gradients are CSS images that allow you to display progressive and smooth changes between two or more specified colors. They can add subtle visual interest to a webpage or create a more striking effect. Gradients give depth and dimensions to the background of a web page by conveying the design from flat to three-dimensional.  
26  
1

[See all asayer archives](/sources/asayer/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/asayer/best-of/2023/01#page","url":"https://daily.dev/sources/asayer/best-of/2023/01","name":"Best asayer Posts — January 2023","description":"The most upvoted asayer posts from January 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/asayer/best-of/2023/01#items","numberOfItems":9,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/state-management-in-next-js-with-redux-toolkit-phwfis7gc","name":"State Management in Next.js with Redux Toolkit"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/introduction-to-pure-css-iq3vphxuh","name":"Introduction to Pure.css"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/doing-animations-in-react-with-framer-motion-wzcbuzzwb","name":"Doing animations in React with Framer Motion"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/how-to-read-and-write-json-in-javascript-fjjvayefl","name":"How to Read and Write JSON in JavaScript"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/promises-in-parallel-ve4yjzl5j","name":"Promises in Parallel"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/an-introduction-to-spectre-css-cziexfyld","name":"An Introduction to Spectre CSS"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/angular-react-vue----a-three-way-comparison-jrnrskfrq","name":"Angular, React, Vue -- A three-way comparison"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/react-social-logins-with-passport-js-7couy6fv1","name":"React Social Logins with Passport JS"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/working-with-css-gradients-ezxov-vqr","name":"Working With CSS Gradients"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"asayer","item":"https://daily.dev/sources/asayer"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/asayer/best-of"},{"@type":"ListItem","position":5,"name":"January 2023"}]}]}
```

