Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR de corrección (NO MERGEAR) #9

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

jabsatz
Copy link
Collaborator

@jabsatz jabsatz commented Aug 19, 2021

No description provided.

Comment on lines +107 to +109
function validation(value) {
return value.length >= 8
}
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

como te había comentado en slack, la idea de esta función es que sea una prop más.

fijate si podés renderizar esto en index-mio.js y lograr que se use esa función en vez de esta:

ReactDOM.render(
  <ValidationInput validation={(value) => value.length >= 8} />, 
  document.getElementById("react-app")
)

Comment on lines +50 to +64
const [items, setItems] = React.useState(props.items)
return(
<div>
{Object.keys(items).map((key) => {
return (


<ControlledCheckbox name={key} value={items[key]} onChange={
(value) => {setItems(!value)}
} />

)
})}
</div>
}
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

efectivamente, este componente no hace lo que debería, pero no te preocupes demasiado por eso, este ejercicio en particular era más complicado de lo que esperaba, y la mayoría de la gente no lo pudo resolver solo con lo visto en la clase 1. te recomendaría arrancar la clase 2 y ver la corrección que hago ahí.

el problema que tenés acá es que estás tratando de cambiar items de un objeto a un booleano. hay varias formas de resolver esto, pero la que yo en general recomiendo usar es crear un objeto nuevo con spread syntax y setear la key que estás cambiando ahí mismo:

(value) => {
  setItems({...items, [key]: !value})
}

<input
type="checkbox"
name={props.name}
value={props.onChange || props.value}
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ojo que acá en value tiene que ir props.value, no estoy muy seguro porque pasás props.onChange también. igual entiendo que al no haberte funcionado el otro componente no pudiste testear bien este.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants