Nathan Birrell

Nathan Birrell

Software engineer, primarily focussed on Javascript web application development.
🇦🇺 Melbourne, Australia | Github | Linkedin | CV

Notes on Javascript

Composition in mobx-state-tree

14 August, 2018

One part of building state management in mobx-state-tree that isn’t immediately obvious when starting, is composition. Usually you come…

Use React's defaultProps with Typescript strictNullChecks

18 May, 2018

Getting React’s defaultProps to play nicely with Typescript’s strictNullChecks can be a bit of a pain. Errors like this will pop up…

Accept any property in a Typescript interface (for use on component props)

09 May, 2018

Sometimes we have core React componentry that passes all props given to it, down to a base DOM UI element. For example, a button element…

Test internal state of higher-order components with Enzyme

04 May, 2018

When testing your store-connected containers (be those in Mobx or Redux or any state management library) you may have noticed you can’t…

Test window-bound events on React components using Enzyme/Jest

27 April, 2018

Enzyme is built for testing React components , it handles React’s synthetic event system quite well (things like events, for example…

Define key types in Typescript interfaces

20 April, 2018

Use bracket notation to define key types on Typescript interfaces. This is useful on key-driven data structures. For example, if we have…

Clean Javascript

10 October, 2016

This is a transcript from a presentation I gave on Clean Code , applied to Javascript applications. This post is inspired by Martin…