Skip to content

Commit 32e1856

Browse files
aashay-gaikwadfacebook-github-bot
authored andcommitted
Updated docs reflect KComponent migration + renaming KComponents to Components
Summary: Updating LithoDocs for Communicating between Components to have KComponent samples: https://fblitho.com/docs/mainconcepts/coordinate-state-actions/communicating-between-components/ Renamed KComponents to Components as mentioned: https://www.internalfb.com/diff/D73038616?dst_version_fbid=1055523829826219&transaction_fbid=623845380657377 Reviewed By: zielinskimz Differential Revision: D73110526 fbshipit-source-id: c35a70a5064ef40e70dc01fa9797e0414dbc02fd
1 parent f9dafc0 commit 32e1856

8 files changed

Lines changed: 22 additions & 23 deletions

docs/mainconcepts/coordinate-state-actions/communicating-between-components.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ For more information on Kotlin events, see [Event Handling](/docs/kotlin/event-h
1616

1717
</FbInternalOnly>
1818

19-
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentReceivesEventFromChildKComponent.kt start=start_demo end=end_demo
19+
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentReceivesEventFromChildComponent.kt start=start_demo end=end_demo
2020
```
2121

22-
The child component can invoke the event handler received from the parent to inform the parent that a certain action took place, such as when the child component receives a click event or, in a visibility handler, when it becomes visible. The following code provides an example.
22+
The child component can invoke the lambda received from the parent to inform the parent that a certain action took place, such as when the child component receives a click event or, in a visibility handler, when it becomes visible. The following code provides an example.
2323

24-
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ChildComponentSendsEventToParentKComponent.kt start=start_demo end=end_demo
24+
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ChildComponentSendsEventToParentComponent.kt start=start_demo end=end_demo
2525
```
2626

2727
### Passing new Props from a parent to a child
@@ -31,15 +31,15 @@ When the data is updated as a result of an action controlled by the parent compo
3131

3232
The following code illustrates this concept with a click event on the parent component.
3333

34-
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentSendsEventToChildKComponent.kt start=start_update_prop end=end_update_prop
34+
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentSendsEventToChildComponent.kt start=start_update_prop end=end_update_prop
3535
```
3636

3737
### Triggering an Action on a child from a parent
3838

3939
There are cases when a parent needs to trigger an action on a child instead of just passing new data. To do this, the parent can interact with the child using controllers (see [Controllers Pattern](/docs/mainconcepts/primitivecomponents/primitive-controllers/)),
4040
which the parent creates and passes to the child component as a prop:
4141

42-
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentSendsEventToChildKComponent.kt start=start_define_controller end=end_define_controller
42+
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentSendsEventToChildComponent.kt start=start_define_controller end=end_define_controller
4343
```
4444

4545
### Communicating between siblings
@@ -48,15 +48,15 @@ Two sibling components (two child components of the same parent) cannot communic
4848

4949
A child component that needs to send a signal to a sibling component will dispatch an event to the common parent component:
5050

51-
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ChildComponentSiblingCommunicationKComponent.kt start=start_dispatch_to_parent end=end_dispatch_to_parent
51+
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ChildComponentSiblingCommunicationComponent.kt start=start_dispatch_to_parent end=end_dispatch_to_parent
5252
```
5353

5454
As shown in the following code, the parent component can:
5555

56-
* Perform a state update to recreate the sibling with new data (@OnUpdateState)
57-
* Trigger an event on the sibling using a reference (@OnEvent).
56+
* Perform a state update to recreate the sibling with new data.
57+
* Trigger an event on the sibling using a reference.
5858

59-
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentMediatorKComponent.kt start=start_parent_mediator end=end_parent_mediator
59+
```java file=sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentMediatorComponent.kt start=start_parent_mediator end=end_parent_mediator
6060
```
6161

6262
### Communicating externally to a component

sample/src/main/java/com/facebook/samples/litho/java/communicating/ChildComponentReceivesEventFromParentKComponent.kt renamed to sample/src/main/java/com/facebook/samples/litho/java/communicating/ChildComponentReceivesEventFromParentComponent.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import com.facebook.litho.onCleanup
2727
import com.facebook.litho.useEffect
2828
import com.facebook.rendercore.dp
2929

30-
class ChildComponentReceivesEventFromParentKComponent(
30+
class ChildComponentReceivesEventFromParentComponent(
3131
private val controller: ParentToChildEventController,
3232
private val textFromParent: String,
3333
) : KComponent() {

sample/src/main/java/com/facebook/samples/litho/java/communicating/ChildComponentSendsEventToParentKComponent.kt renamed to sample/src/main/java/com/facebook/samples/litho/java/communicating/ChildComponentSendsEventToParentComponent.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import com.facebook.rendercore.sp
3535
import com.facebook.samples.litho.java.communicating.CommunicatingFromChildToParent.ComponentEventObserver
3636

3737
// start_demo
38-
class ChildComponentSendsEventToParentKComponent(
38+
class ChildComponentSendsEventToParentComponent(
3939
private val observer: ComponentEventObserver,
4040
private val onChildClickEvent: () -> Unit,
4141
) : KComponent() {

sample/src/main/java/com/facebook/samples/litho/java/communicating/ChildComponentSiblingCommunicationKComponent.kt renamed to sample/src/main/java/com/facebook/samples/litho/java/communicating/ChildComponentSiblingCommunicationComponent.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import com.facebook.litho.view.onClick
3535
import com.facebook.rendercore.dp
3636

3737
// start_dispatch_to_parent
38-
class ChildComponentSiblingCommunicationKComponent(
38+
class ChildComponentSiblingCommunicationComponent(
3939
private val id: Int,
4040
private val isSelected: Boolean,
4141
private val onSelected: (Int) -> Unit,

sample/src/main/java/com/facebook/samples/litho/java/communicating/CommunicatingFromChildToParent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ protected void onCreate(Bundle savedInstanceState) {
3333
setContentView(
3434
LithoView.create(
3535
c,
36-
new ParentComponentReceivesEventFromChildKComponent(
36+
new ParentComponentReceivesEventFromChildComponent(
3737
() ->
3838
Toast.makeText(
3939
c.getAndroidContext(),

sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentMediatorKComponent.kt renamed to sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentMediatorComponent.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,20 @@ import com.facebook.litho.useState
2727
import com.facebook.rendercore.dp
2828

2929
// start_parent_mediator
30-
class ParentComponentMediatorKComponent : KComponent() {
30+
class ParentComponentMediatorComponent : KComponent() {
3131
override fun ComponentScope.render(): Component? {
3232

3333
val selectedPosition = useState { 0 }
3434

3535
return Column(style = Style.padding(all = 30.dp)) {
3636
child(Text(text = "ChildComponent", textSize = 30.dp))
3737
child(
38-
ChildComponentSiblingCommunicationKComponent(
38+
ChildComponentSiblingCommunicationComponent(
3939
id = 0,
4040
isSelected = selectedPosition.value == 0,
4141
onSelected = { selectedPosition.update(0) }))
4242
child(
43-
ChildComponentSiblingCommunicationKComponent(
43+
ChildComponentSiblingCommunicationComponent(
4444
id = 1,
4545
isSelected = selectedPosition.value == 1,
4646
onSelected = { selectedPosition.update(1) }))

sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentReceivesEventFromChildKComponent.kt renamed to sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentReceivesEventFromChildComponent.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,16 @@ import com.facebook.rendercore.dp
2929
import com.facebook.samples.litho.java.communicating.CommunicatingFromChildToParent.ComponentEventObserver
3030

3131
// start_demo
32-
class ParentComponentReceivesEventFromChildKComponent(
33-
private val observer: ComponentEventObserver
34-
) : KComponent() {
32+
class ParentComponentReceivesEventFromChildComponent(private val observer: ComponentEventObserver) :
33+
KComponent() {
3534

3635
override fun ComponentScope.render(): Component {
3736
val infoText = useState { "No event received from ChildComponent" }
3837
return Column(style = Style.padding(all = 30.dp)) {
3938
child(Text(text = "ParentComponent", textSize = 30.dp))
4039
child(Text(text = infoText.value, textSize = 15.dp))
4140
child(
42-
ChildComponentSendsEventToParentKComponent(
41+
ChildComponentSendsEventToParentComponent(
4342
observer = observer, onChildClickEvent = { onNotifyParentEvent(infoText) }))
4443
}
4544
}

sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentSendsEventToChildKComponent.kt renamed to sample/src/main/java/com/facebook/samples/litho/java/communicating/ParentComponentSendsEventToChildComponent.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import com.facebook.litho.useState
3434
import com.facebook.litho.view.onClick
3535
import com.facebook.rendercore.dp
3636

37-
class ParentComponentSendsEventToChildKComponent : KComponent() {
37+
class ParentComponentSendsEventToChildComponent : KComponent() {
3838

3939
// start_define_controller
4040
override fun ComponentScope.render(): Component? {
@@ -57,7 +57,7 @@ class ParentComponentSendsEventToChildKComponent : KComponent() {
5757
radius = BorderRadius(all = 2.dp)))
5858
.onClick { controller.trigger("Message from parent") }))
5959
child(
60-
ChildComponentReceivesEventFromParentKComponent(
60+
ChildComponentReceivesEventFromParentComponent(
6161
controller = controller, textFromParent = "Child with controller"))
6262
// end_define_controller
6363
// start_update_prop
@@ -74,7 +74,7 @@ class ParentComponentSendsEventToChildKComponent : KComponent() {
7474
radius = BorderRadius(all = 2.dp)))
7575
.onClick { version.update { it + 1 } }))
7676
child(
77-
ChildComponentReceivesEventFromParentKComponent(
77+
ChildComponentReceivesEventFromParentComponent(
7878
controller = controller, textFromParent = "Version ${version.value}"))
7979
// end_update_prop
8080
}

0 commit comments

Comments
 (0)