Skip to content

Instantly share code, notes, and snippets.

Avatar

Archakov Dennis Archakov06

View GitHub Profile
View main.dart
// Это состояние
class Home extends StatefulWidget {
final List<Word> words;
Home({this.words});
@override
State<StatefulWidget> createState() {
return _Home();
}
View reducers.js
import { combineReducers } from 'redux';
const reducers = ['channels', 'bots', 'posts', 'user'];
export default combineReducers(
reducers.reduce((initial, name) => {
initial[name] = require(`./${name}`).default;
return initial;
}, {}),
);
View countries.json
[
{
"country": "Afghanistan",
"alpha2": "AF",
"alpha3": "AFG",
"numeric": "004"
},
{
"country": "Åland Islands",
"alpha2": "AX",
View RadioGroup.jsx
import React from 'react';
import { Field } from 'redux-form';
import { compose, withHandlers, mapProps } from 'recompose';
import classNames from 'classnames';
import { EditFormGroup, EditFormGroupRow, EditFormGroupRowTitle } from 'app/components/wrappers';
import { Radio } from 'app/components/ui';
const RadioEnhance = compose(
@Archakov06
Archakov06 / futumarket-coding-style-guide.md
Last active Nov 3, 2020
Хорошая и плохая практика написания кода на ReactJS и JavaScript
View futumarket-coding-style-guide.md

Coding Style Guide

Это руководство содержит в себе наиболее разумный подход к написанию JavaScript и ReactJS (JSX) кода.

Основные правила

  1. Компонент не должен содержать в себе состояний.
  2. Компоненты делятся на два типа:
  • Presentation component — презентационный компонент. Главная роль — отображение переданных данных от контейнера.
  • Container — контейнер. Главная роль — хранение функциональной части и логики компонента. Передаёт итоговые данные в презентационный компонент.

В презентационном компоненте не желательно хранить логику или любую другую функциональную часть. Исключение — компонент-класс.

View example.rule.1.jsx
// плохо
function SFC({ foo, bar, children }) {
return <div>{foo}{bar}{children}</div>;
}
SFC.propTypes = {
foo: PropTypes.number.isRequired,
bar: PropTypes.string,
children: PropTypes.node,
};
View react-futumarket.md

Frontend-разработчик (React)

Приглашаем в нашу команду в Санкт-Петербурге Frontend-разработчика.

Компания «Футумаркет» - стартап, создающий многофункциональную торговую интернет-площадку.

На данный момент реализация проекта находится на начальном этапе. Работает дружная команда из 10 человек.

Требования:

View oget.js
// Source: https://github.com/zewish/oget
'use strict';
export default (obj, path, def) => {
let res = path
.replace(/\[/g, '.')
.replace(/\]/g, '')
.replace(/^\./, '')
.split('.')
View lodash.get.js
import baseGet from './.internal/baseGet.js'
/**
* Gets the value at `path` of `object`. If the resolved value is
* `undefined`, the `defaultValue` is returned in its place.
*
* @since 3.7.0
* @category Object
* @param {Object} object The object to query.
* @param {Array|string} path The path of the property to get.
@Archakov06
Archakov06 / get.js
Created Apr 21, 2018
Lodash like _.get() function
View get.js
const obj = {
a: {
b: {
c: 1
}
},
user: {
id: {
bbb: 123
},