DEV Community

loading...
Jack profile picture

Jack

Typescript and React nerd. I have a soft spot for architecture and unit testing

Location United Kingdom Joined Joined on  github website twitter website

Work

Lead Frontend Engineer at Claimer

All 107 comments

Clean Architecture on Frontend

The empahsis of this article was on clean architecture. I thi...

Clean Architecture on Frontend

I commented on my appreciation of this post when I first came...

Clean Architecture on Frontend

This is one of the best and most detailed posts I've read. Th...

Create React App without create-react-app !

CRA is faster and easier for sure but I still prefer to scaff...

Really, why React?

Maybe one day, I'm all for change when something genuinely be...

Really, why React?

Okay. I think using an active community as evidence that a li...

Really, why React?

I wouldn't say they barely influence the decision. Just point...

Really, why React?

Assuming I'm probably just blind to skme of the jarring aspec...

Really, why React?

I'm definitely in the minority πŸ˜… and yes a cleanly segregated...

Really, why React?

I've certainly done this (many times, and with other framewor...

Really, why React?

I don't want to spark yet another library vs framework debate...

Really, why React?

I've used React, Angular, and Vue, plus jQuery back in the ol...

Really, why React?

Although these are all good points, the majority of them fall...

How to test your NPM package locally

I mentioned it in another comment but in my experience, npmjs...

How to test your NPM package locally

This isn't quite true. Npm is smart enough to resolve common ...

How to test your NPM package locally

I use yalc for testing npm packages in development. Working i...

You don’t need React for building websites

I must admit it's been a while since I've made anything not u...

To Typescript Or Not To?

Fair point. Although I think this doesn't really affect my ac...

To Typescript Or Not To?

I'd argue that this adds extra maintenance as you have to ens...

To Typescript Or Not To?

Just addressing the very first point as this is no different ...

React source code visible 😲

Sourcemaps are invaluable for debugging production issues. I'...

Dependency Injection /Services pattern for React (inspired by Angular)

I felt the exact same way when i moved from angular to react ...

Simplify condition rendering in React.js

Personally I swear by jsx-control-statements I use it pretty ...

Why I'm not using Next.js

Next is almost entirely concerned with react, there isn't rea...

Why I'm not using Next.js

I'm not trying to convince the world not to use next. I just ...

Why I'm not using Next.js

Yes I have been using vite and I've really enjoyed it!

How To Structure Your App In a Way That Scales.

I like the use of the file extension (.component.js, .query.j...

What was your first code editor?

Notepad++ πŸŽ‰ Eventually I discovered atom and then after a lot...

Vue.js vs. React β€” Not Your Usual Comparison

I learned Vue first. I was a Vue developer for about a year a...

Is babel still relevant for TypeScript projects ?

Great article! Babel is totally still useful, there are a lot...

Stop returning NULL components

While I agree in principle with your point - not rendering a ...

What is the difference between Library vs Framework?

This. I've never understood the insistence that react is not ...

What's your opinion on data-first frontend ?

Yes. In my experience, useState / useEffect should be reserve...

Are you using React ? Then I think you must know this

Definitely some misleading things in this piece: There's a d...

Atomic Design for Developers: Better Component Composition and Organization

Great overview of atomic design. I've gone through many itera...

Do you code on weekends?

On reflection of my last comment I may have also have been a ...

Do you code on weekends?

Im sure they exist but I haven't personally worked with anyon...

Do you code on weekends?

If you're writing code because you feel pressured I think tha...

Do you start with frontend, backend, or both?

I usually start with the front end and have the user journey ...

find() vs filter()

I also often see people do filter().length or find() != null...

βœ”||🀒 Commit or Vomit | nested ternary operator

There's a reason there are eslint rules banning nested turnar...

βœ”||🀒 Commit or Vomit | function currying πŸ›

Is the question "do we like currying as a feature?" or is it ...

βœ”||🀒 Commit or Vomit | function currying πŸ›

Currying is confusing at first but incredibly useful in the r...

Constructors in Functional Components With Hooks

I often face the same issue but it is easily solved with a us...

A shocking story about web development from the future 😲

Silly johnny could've saved himself all this trouble if he'd ...

Frontend, backend - let's be friends again

I've worked on full stack teams a few times, and each time I ...

βœ”||🀒 Commit or Vomit | checks.some()

this πŸ‘

TailwindCSS: Adds complexity, does nothing.

I'm not sure why tailwind is so divisive, I've not met anyone...

βœ”||🀒 Commit or Vomit | code style

Oh definitely separate lines for all attributes. If you only ...

Dependency Injection in React with Jpex

Thanks for the feedback! Funnily enough I am using it in a V...

A different approach to frontend architecture

Yes code splitting is a big issue for DI on the front end. In...

A different approach to frontend architecture

πŸ‘ really good article. I've been writing FE apps almost ident...

Coding is Boring! why do you love coding?

Making something out of nothing. Writing code and watching it...

Clean Code with Unit Tests: Tips and tricks for keeping your test suites clean

Great read, all of these points are things that I go on about...

βœ”||🀒 Commit or Vomit | + cast

Yuck. This is something I would've done everywhere as a junio...

βœ”||🀒 Commit or Vomit | Switch(true)

Personally I prefer all-or-nothing for braces, I really don't...

Solid. Is It Still Useful In 2021?

As a FE developer, when I first learnt these principles in t...

βœ”||🀒 Commit or Vomit | Easter eggs

Definitely Easter eggs, as long as it's subtle. Saying that, ...

βœ”||🀒 Commit or Vomit | Switch(true)

Since you're returning on each case I wouldn't even bother wi...

Writing Developer-Friendly React Unit Tests

We do, extensively. Having said that, we split our components...

Writing Developer-Friendly React Unit Tests

I'm not sure if all those string literals would make things h...

Dependency Injection In JavaScript

I'm going to plug my own DI library powered by typescript typ...

Please refactor your code.

Refactor before merging a feature. Too often we get something...

Typescript - Tips & Tricks - Non-null assertion operator

Yes I do this but often the combinations are so complex it be...

Typescript - Tips & Tricks - Non-null assertion operator

Amazing. There are many many times that you have 100% confid...

Introduction to Functional Programming

Agreed. I can only assume that first example because it's log...

Conditionally render react components in cleaner way

For many conditional rendering cases I really like jsx-contro...

you need to relax a little developers

I'm using this this week. I can easily spend hours on end jus...

What is the biggest misconception about being a software developer?

πŸ’―

Rsvp to weddings with XState

There's no trick to state machines, they always add a fair am...

<Fragment> vs <></>

&lt;&gt; is shorter, doesnt require a specific import, and is...

View-Hook Pair Pattern (Draft)

This is literally the smart/dumb pattern right? Dont get me w...

Put Down the Destructuring Hammer

Maybe it's just me but when I find I'm in a component where I...

How to never touch your mouse again 🐭

I still dont get it. I'd say I spend 1/3 of my day writing co...

No more rest πŸš€

We actually went from rest to rpc and back to rest again. But...

Front-End VS Back-End Web Development

Nice metaphor but now I'm hungry

The reasons I don't use Typescript

By far the biggest plus of typescript is intellisense and edi...

4 folder structures to organize your React & React Native project

Your hexagonal example is confusing even to someone who has b...

What a 20 Year Career in Tech Has Taught Me About Getting Promoted

Nice article! For me personally I've only had one direct prom...

Why we don't and should not use React.memo with every compoent to boost performance ?

We did this, to literally every component in our app. Hundred...

5 Reasons Why Front-end Is So Hard

Nice article and all good points. For me the hardest thing is...

5 Reasons Why Front-end Is So Hard

I always write tests. I find they're only a pain if you don't...

A Better Way to Structure React Projects

Very nice article. I'm always surprised how little concern is...

Why go functional? A practical example

I would say the problem is with user.status = status this is ...

Playfulness In Code: Supercharge Your Learning by Having Fun

Thoroughly enjoyed this read. I'm sure most of us find it dif...

CSS Cyberpunk 2077 Buttons - Taking your CSS to Night City

Excellent in depth article πŸ‘

Don't Use VSCODE Anymore!

Can't tell if serious...

Mocking dependencies with Jest + TypeScript

I'm a big believer in using composition patterns or dependenc...

Why Tailwind Isn't for Me

Speaking from a react viewpoint: I've spent many years worki...

Invalid hook call. Hooks can only be called inside of the body of a function component. ??

Itd be very difficult to query graphql without some dedicated...

Invalid hook call. Hooks can only be called inside of the body of a function component. ??

So you've got a useQuery (a react hook) inside a function tha...

Invalid hook call. Hooks can only be called inside of the body of a function component. ??

Looks like your list products function is doing something, bu...

Implementing SOLID and the onion architecture in Node.js with TypeScript and InversifyJS

Late to the party but really excellent article! I've worked...

Let's play "never have I ever" developer edition.

Never have I ever squashed commits to hide the fact that I in...

state hook not a function

Use state only returns 2 things: currentPage and setExactPage...

Fetching data with React the easy way

So over complicated. Let's see, dataLoaded implies a boolean ...

Don't use getByTestId πŸ™

Really great article. I've been a testing advocate for a long...

Can you become a successful software developer without a CS degree? My opinion

As a succesful, self taught, lead developer without a CS degr...

Don't stop Mutating

I 100% agree that the developer community is sometimes too op...

Whatever happened to the test pyramid?

Nice article! I think frontend testing has become quite blurr...

Don't stop Mutating

I think this is quite a dangerous thing to encourage. In your...

What's Your Hobbies Other Than Programming?

When I'm not working, or writing open source code, or thinkin...

Welcome Thread - v103

Hey everyone! I'm a frontend engineer (7 years and counting)...

loading...