-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
docs: clarify default prop values, attribute behavior and text expressions #15257
base: main
Are you sure you want to change the base?
docs: clarify default prop values, attribute behavior and text expressions #15257
Conversation
|
<Nested /> <!-- answer is set to default value --> | ||
<Nested answer={undefined}/> <!-- answer is set to default value --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it's better to write exactly what value in both lines, for example, "answer is set to 3 (default value)"
<Nested answer={42} /> <!-- answer is set to 42 --> | ||
<Nested answer={null} /> <!-- answer is set to null (default value is not used)--> | ||
<Nested /> <!-- answer is set to default value --> | ||
<Nested answer={undefined}/> <!-- answer is set to default value --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add an example with deep nesting
<p>{num}</p> <!-- Renders as: <p>1</p> --> | ||
<p>{bool}</p> <!-- Renders as: <p>false</p> --> | ||
<p>{obj}</p> <!-- Renders as: <p>[object Object]</p> --> | ||
<p>{empty}</p> <!-- Renders as: <p></p> (empty string) --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add an example with an empty string, null, and an object with the toString method.
Perhaps it's better to shorten the example by removing the script tag.
It would also be nice to write somewhere that the expressions in the markup seem to wrap in $derived. Accordingly, expressions with runes will be reactive and the rest will not. |
|
||
``` | ||
|
||
Deep nesting refers to having components nested within other components across multiple levels. In this setup, props can be passed from parent to child components through several layers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sorry, I didn't make myself clear. I meant deep destructuring assignment, but it turns out that it is forbidden.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should i remove the example?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I think it's unnecessary here.
let num = 1; | ||
let bool = false; | ||
let obj = { key: "value" }; | ||
let objToStr = obj.toString(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I meant this:
<script lang="ts">
let obj1 = { toString: () => "str" };
</script>
<p>{obj1}</p> <!-- Renders as: <p>str</p> -->
And add a link to MDN.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, ok. My bad. So you want me to override the toString function right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add this instead of objToStr.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should i add the MDN link to documents? Or you just share with me for the reference?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now let's wait for what the team says.
Will do, thanks! |
What does this PR do?
null
andundefined
affect attributes and text expressions in markup.Issue Reference
Closes #14716
Additional Information