Biblioteca de componentes JavaScript por Instacart
Observação: ainda estamos em estágio de pré-lançamento. Se você optar por usar lanches, esteja preparado para quebrar mudanças no futuro.
Você pode usar yarn ou npm para instalar lanches e suas dependências.
yarn add ' ic-snacks 'npm install ' ic-snacks 'Snacks possui algumas dependências de pares necessárias para usar a biblioteca.
Se você já possui essas bibliotecas listadas nas dependências do seu aplicativo, não há necessidade de instalá -las novamente.
Para a biblioteca principal de componentes:
Se você quiser usar animações: React-transição-grupo v2.2
Às vezes, pode ser útil trabalhar neste projeto localmente e visualizar as alterações em outro aplicativo. Isso pode ser realizado usando o link NPM
# From this directory
npm link
# go to the app you are working on
cd ../workspace/my_working_app
# symlink this app
npm link ic-snacksPara reverter o processo, você pode fazer o seguinte
# go to the app you are working on
cd ../workspace/my_working_app
# remove symlink
npm unlink ic-snacksyarn add @instacart/radium
yarn add prop-types
yarn add react
yarn add react-dom
yarn add react-transition-groupnpm install @instacart/radium
npm install prop-types
npm install react
npm install react-dom
npm install react-transition-groupUsando um componente:
import { CircleButton } from 'ic-snacks'
const MyComponent = props => {
const doYes = e => { alert ( 'Snacks are the best!' ) }
const doNo = e => { alert ( 'Wrong choice, choose again.' ) }
return (
< div >
< p > Do you love snacks? </ p >
< CircleButton onClick = { doYes } > Yes </ CircleButton >
< CircleButton onClick = { doNo } > No </ CircleButton >
</ div >
)
}Um componente mais complicado:
import React , { Component } from 'react'
import { NavigationPills } from 'ic-snacks'
const choices = [
{ text : 'bananas' } ,
{ text : 'carrots' } ,
{ text : 'watermelon' } ,
{ text : 'snacks' } ,
{ text : 'kale' } ,
{ text : 'endives' } ,
{ text : 'arugula' } ,
{ text : 'spinach' } ,
{ text : 'potatoes' }
]
class Navigation extends Component {
static state = {
activePill : choices [ 0 ]
}
render ( ) {
return (
< div >
< NavigationPills
pills = { choices }
onPillClick = { ( e , choice ) => {
e . preventDefault ( ) ;
setState ( { activePill : choice . text } )
console . log ( 'Choice clicked!' , choice )
} }
label = 'Favorite healthy snack:'
activePill = { state . activePill }
/>
</ div >
)
}
} https://instacart.github.io/snacks/
Por favor, consulte documentos contribuintes