You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Components-and-Hooks/HOC-Props-and-Custom-Hooks.md
+18-21Lines changed: 18 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -619,7 +619,7 @@ Another way of making components very **reusable**, is by using the **render pro
619
619
Imagine that we have a Title component. In this case, the Title component shouldn't do anything besides rendering the value that we pass. We can use a render prop for this! Let's pass the value that we want the Title component to render to the render prop.
620
620
621
621
```javascript
622
-
<Title render={() =><h1>I am a render prop!</h1>} />
622
+
<Title render={() =><Text>I am a render prop!</Text>} />
623
623
```
624
624
625
625
Within the Title component, we can render this data by returning the invoked render prop!
@@ -642,14 +642,11 @@ render(
642
642
<View className="App">
643
643
<Title
644
644
render={() => (
645
-
<h1>
646
-
<span role="img" aria-label="emoji">
647
-
✨
648
-
</span>
649
-
I am a render prop!<span role="img" aria-label="emoji">
650
-
✨
651
-
</span>
652
-
</h1>
645
+
<Text>
646
+
<View role="img" aria-label="emoji">✨</View>
647
+
I am a render prop!
648
+
<View role="img" aria-label="emoji">✨</View>
649
+
</Text>
653
650
)}
654
651
/>
655
652
</View>,
@@ -669,9 +666,9 @@ const Title = (props) => props.render();
669
666
670
667
render(
671
668
<View className="App">
672
-
<Title render={() =><h1>✨ First render prop! ✨</h1>} />
673
-
<Title render={() =><h2>🔥 Second render prop! 🔥</h2>} />
674
-
<Title render={() =><h3>🚀 Third render prop! 🚀</h3>} />
669
+
<Title render={() =><Text>✨ First render prop! ✨</Text>} />
670
+
<Title render={() =><Text>🔥 Second render prop! 🔥</Text>} />
671
+
<Title render={() =><Text>🚀 Third render prop! 🚀</Text>} />
675
672
</View>,
676
673
document.getElementById("root")
677
674
);
@@ -700,9 +697,9 @@ const Title = (props) => (
700
697
render(
701
698
<View className="App">
702
699
<Title
703
-
renderFirstComponent={() =><h1>✨ First render prop! ✨</h1>}
704
-
renderSecondComponent={() =><h2>🔥 Second render prop! 🔥</h2>}
705
-
renderThirdComponent={() =><h3>🚀 Third render prop! 🚀</h3>}
700
+
renderFirstComponent={() =><Text>✨ First render prop! ✨</Text>}
701
+
renderSecondComponent={() =><Text>🔥 Second render prop! 🔥</Text>}
702
+
renderThirdComponent={() =><Text>🚀 Third render prop! 🚀</Text>}
706
703
/>
707
704
</View>,
708
705
document.getElementById("root")
@@ -752,7 +749,7 @@ function Input() {
752
749
exportdefaultfunctionApp() {
753
750
return (
754
751
<View className="App">
755
-
<h1>☃️ Temperature Converter 🌞</h1>
752
+
<Text>☃️ Temperature Converter 🌞</Text>
756
753
<Input />
757
754
<Kelvin />
758
755
<Fahrenheit />
@@ -790,7 +787,7 @@ export default function App() {
790
787
791
788
return (
792
789
<View className="App">
793
-
<h1>☃️ Temperature Converter 🌞</h1>
790
+
<Text>☃️ Temperature Converter 🌞</Text>
794
791
<Input value={value} handleChange={setValue} />
795
792
<Kelvin value={value} />
796
793
<Fahrenheit value={value} />
@@ -825,7 +822,7 @@ function Input(props) {
825
822
exportdefaultfunctionApp() {
826
823
return (
827
824
<View className="App">
828
-
<h1>☃️ Temperature Converter 🌞</h1>
825
+
<Text>☃️ Temperature Converter 🌞</Text>
829
826
<Input
830
827
render={(value) => (
831
828
<>
@@ -865,7 +862,7 @@ function Input(props) {
865
862
exportdefaultfunctionApp() {
866
863
return (
867
864
<View className="App">
868
-
<h1>☃️ Temperature Converter 🌞</h1>
865
+
<Text>☃️ Temperature Converter 🌞</Text>
869
866
<Input
870
867
render={(value) => (
871
868
<>
@@ -899,7 +896,7 @@ Let’s change the **Input** component. Instead of explicitly passing the render
0 commit comments