digamos que quiero tener un atributo personalizado donde pueda obtener información del elemento principal.
en svelte es fácil, la sintaxis es así:
MyChild.svelte
<script>
export let x;
</script>
<div>choosed value: {x}</div>
MyParent.svelte
<main>
<MyChild x={10} />
</main>
pero digamos que no quería pasar siempre el valor del atributo
<MyChild x={10} />
<MyChild /> <!-- this time I don't want to pass the value -->
Quiero que si no paso el valor, usará un valor secundario.
en React.js tenemos ?? o || ,
Falta la propiedad 'x' en el tipo...
tan esbelto dime el problema antes de compilar
¿Hay una solución?
entonces quiero algo como
export let x ?? 0;
// get "x" if you find an attribute
// then set the variable "x" to "x"
// but if the user doesn't add the attribute uses the second value "??"
// same as if x is undefined/null
o así
export let x ?? 4.1658126;
o así
export let x ?? MY_CONSTANT_VAR;
hazlo así:
<script>
export let x = 0;
</script>
<div>choosed value: {x}</div>
ahora funcionará en el padre sin ese error en el IDE
<main>
<MyChild x={10} /> <!-- choosed value: 10 -->
<MyChild /> <!-- choosed value: 0 -->
</main>
No hay necesidad de ?? , solo usa =