Flutter de cero a experto - Móvil
Descargar las hojas de atajos recomendadas:
String pattern = r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$'; | |
RegExp regExp = new RegExp(pattern); |
Descargar las hojas de atajos recomendadas:
# Install dependencies only when needed | |
FROM node:18-alpine3.15 AS deps | |
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. | |
RUN apk add --no-cache libc6-compat | |
WORKDIR /app | |
COPY package.json yarn.lock ./ | |
RUN yarn install --frozen-lockfile | |
# Build the app with cache dependencies | |
FROM node:18-alpine3.15 AS builder |
import { createSlice } from '@reduxjs/toolkit'; | |
export const templateSlice = createSlice({ | |
name: 'name', | |
initialState: { | |
counter: 10 | |
}, | |
reducers: { | |
increment: (state, /* action */ ) => { | |
//! https://react-redux.js.org/tutorials/quick-start |
* { | |
font-family: Helvetica, Arial, sans-serif; | |
font-weight: 200; | |
} | |
html, body { | |
background: white; | |
margin: 20px; | |
color: #3e4144; |
import { createStore } from 'vuex'; | |
// My custom modules | |
import exampleModule from './module-template'; | |
import { ExampleStateInterface } from './module-template/state'; | |
export interface StateInterface { | |
// Define your own store structure, using submodules if needed | |
// example: ExampleStateInterface; |
yarn add --dev jest babel-jest @babel/preset-env @babel/preset-react
yarn add --dev @testing-library/react @types/jest jest-environment-jsdom