Imagine we have a reducer to control a list of items:
function listOfItems(state: Array<Object> = [], action: Object = {}): Array<Object> {
switch(action.type) {
case 'SHOW_ALL_ITEMS':
return action.data.items
default:
https://webkit.org/blog/10218/full-third-party-cookie-blocking-and-more/
I've created to test it, but I'm confused by the result. https://animated-caribou.glitch.me/
var express = require("express"); | |
var app = express(); | |
app.get("/restricted", function(req, res, next){ | |
// Grab the "Authorization" header. | |
var auth = req.get("authorization"); | |
// On the first request, the "Authorization" header won't exist, so we'll set a Response | |
// header that prompts the browser to ask for a username and password. |
"use strict"; | |
// animation utils | |
// =============== | |
const trackTime = id => { | |
const [entry] = performance.getEntriesByName(id); | |
if (!entry) { | |
performance.mark(id); |
extension Int { | |
func formatUsingAbbrevation () -> String { | |
let numFormatter = NSNumberFormatter() | |
typealias Abbrevation = (threshold:Double, divisor:Double, suffix:String) | |
let abbreviations:[Abbrevation] = [(0, 1, ""), | |
(1000.0, 1000.0, "K"), | |
(100_000.0, 1_000_000.0, "M"), | |
(100_000_000.0, 1_000_000_000.0, "B")] |
// This is an advanced example! It is not intended for use in application code. | |
// Libraries like Relay may make use of this technique to save some time on low-end mobile devices. | |
// Most components should just initiate async requests in componentDidMount. | |
class ExampleComponent extends React.Component { | |
_hasUnmounted = false; | |
state = { | |
externalData: null, | |
}; |
/* | |
sqrt(8) | |
(0 + 8) / 2 = 4 | |
4 * 4 = 16 | |
(0 + 4) / 2 = 2 | |
2 * 2 = 4 | |
(2 + 4) / 2 = 3 | |
3 * 3 = 9 |
convert("one hundred five"); // "105" | |
convert("six hundred and fifty three"); // "653" | |
convert("zero zero one two three"); // "123" | |
convert("twelve o three"); // "1203" | |
convert("thirteen zero nine"); // "1309" | |
convert("fifteen sixteen"); // "1516" | |
convert("fourteen ninety two"); // "1492" | |
convert("nineteen ten"); // "1910" | |
convert("twelve hundred"); // "1200" | |
convert("twenty three hundred"); // "2300" |
You don't really need a framework or fancy cutting-edge JavaScript features to do two-way data binding. Let's start basic - first and foremost, you need a way to tell when data changes. Traditionally, this is done via an Observer pattern, but a full-blown implementation of that is a little clunky for nice, lightweight JavaScript. So, if native getters/setters are out, the only mechanism we have are accessors:
var n = 5;
function getN() { return n; }
function setN(newN) { n = newN; }
console.log(getN()); // 5
setN(10);
This document details some tips and tricks for creating redux containers. Specifically, this document is looking at the mapDispatchToProps
argument of the connect
function from [react-redux][react-redux]. There are many ways to write the same thing in redux. This gist covers the various forms that mapDispatchToProps
can take.