Skip to content

Instantly share code, notes, and snippets.

View BretCameron's full-sized avatar
🏠
Working from home

Bret Cameron BretCameron

🏠
Working from home
  • YuLife
  • London
View GitHub Profile
constructor(props) {
super(props);
this.state = { skin: 'night' };
this.changeSkin = this.changeSkin.bind(this);
}
<p onClick={this.changeSkin} style={{ fontSize: '50px', cursor: 'pointer' }}>Change Skin</p>
@BretCameron
BretCameron / div.js
Last active March 7, 2019 13:28
How to change a JSX className using state
<div className={this.state.skin}>
@BretCameron
BretCameron / App.js
Last active March 7, 2019 13:27
The final file of the React.js tutorial, which switches between 'day' and 'night' modes
import React, { Component } from 'react';
import './App.css';
class App extends Component {
constructor(props) {
super(props);
this.state = { skin: 'night' };
this.changeSkin = this.changeSkin.bind(this);
}
@BretCameron
BretCameron / import.js
Last active March 7, 2019 13:26
The import statement required to import JQuery into a React file
import React from 'react';
import $ from 'jquery';
@BretCameron
BretCameron / google-problem.js
Last active March 10, 2019 15:19
JavaScript solutions for a Google interview problem
arr1 = [1, 2, 3, 9];
arr2 = [1, 2, 4, 4];
// Method 1
// Time Complexity: O(N^2)
// Space Complexity: O(1)
const findSum = (arr, val) => {
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length; j++) {
@BretCameron
BretCameron / Array.prototype.includes.js
Created March 11, 2019 10:10
A copy of MDN's polyfill for the JavaScript array method Array.prototype.includes()
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
if (!Array.prototype.includes) {
Object.defineProperty(Array.prototype, 'includes', {
value: function(valueToFind, fromIndex) {
if (this == null) {
throw new TypeError('"this" is null or not defined');
}
// 1. Let O be ? ToObject(this value).
@BretCameron
BretCameron / functions.php
Last active March 25, 2019 12:57
Register a new "movies" custom post type on WordPress
<?php // Register Custom Post Type: Movies
function movies_post_type() {
$labels = array(
'name' => _x( 'Movies', 'Post Type General Name', 'text_domain' ),
'singular_name' => _x( 'Movie', 'Post Type Singular Name', 'text_domain' ),
'menu_name' => __( 'Movies', 'text_domain' ),
'name_admin_bar' => __( 'Movie', 'text_domain' ),
'archives' => __( 'Item Archives', 'text_domain' ),
@BretCameron
BretCameron / functions.php
Last active November 6, 2019 23:13
Add a custom field type called "genre" to WordPress.
<?php // Add Custom Field Type: Genre
function genre_meta_box() {
add_meta_box(
'global-notice',
__( 'Genre', 'sitepoint' ),
'genre_meta_box_callback',
'movies',
'side',
'low'
@BretCameron
BretCameron / functions.php
Last active March 25, 2019 12:58
Register a custom field type as a REST field in WordPress
<?php // Register a Custom Field Type as a REST field
function register_genre_as_rest_field() {
register_rest_field(
'movies',
'genre',
array(
'get_callback' => 'get_genre_meta_field',
'update_callback' => null,
'schema' => null,