प्रारंभिक सरणी के लिए, सरणी के बजाय बेहतर इस्तेमाल वस्तु है, तो के रूप में आप अनुक्रमित के बारे में चिंता नहीं की जाएगी क्या करना चाहिए और यह हो जाएगा और अधिक स्पष्ट क्या है क्या:
const initialArr = [{
color: "blue",
text: "text1"
}, {
color: "red",
text: "text2"
}];
वास्तविक मानचित्रण के लिए, जे एस सरणी मानचित्र का उपयोग पाश के लिए के बजाय - पाश मामलों में इस्तेमाल किया जाना चाहिए के लिए जब कोई वास्तविक सरणी परिभाषित, कुछ एक निश्चित संख्या प्रदर्शित की तरह समय के बियर:
onPress =() => {
...
};
renderButtons() {
return initialArr.map((item) => {
return (
<Button
style={{ borderColor: item.color }}
onPress={this.onPress}
>
{item.text}
</Button>
);
});
}
...
render() {
return (
<View style={...}>
{
this.renderButtons()
}
</View>
)
}
मैंने मैपिंग को अधिक पठनीय कोड के लिए रेंडर विधि के बाहर अलग फ़ंक्शन में स्थानांतरित कर दिया। प्रतिक्रियाशील मूल में तत्वों की सूची के माध्यम से लूप करने के कई अन्य तरीके हैं, और आप जिस तरह से उपयोग करेंगे, इस पर निर्भर करता है कि आपको क्या करने की आवश्यकता है। इनमें से अधिकतर तरीकों को this article about React JSX loops में शामिल किया गया है, और हालांकि यह प्रतिक्रिया उदाहरणों का उपयोग कर रहा है, इसके अलावा सब कुछ प्रतिक्रिया मूल में उपयोग किया जा सकता है। यदि आप इस विषय में रूचि रखते हैं तो कृपया इसे देखें!
इसके अलावा, लूपिंग पर विषय पर नहीं, लेकिन जैसा कि आप पहले से ही ऑनप्रेस फ़ंक्शन को परिभाषित करने के लिए सरणी वाक्यविन्यास का उपयोग कर रहे हैं, फिर भी इसे बाध्य करने की आवश्यकता नहीं है। यह फिर से लागू होता है अगर फ़ंक्शन को घटक के भीतर इस वाक्यविन्यास का उपयोग करके परिभाषित किया जाता है, क्योंकि तीर सिंटैक्स ऑटो फ़ंक्शन को बांधता है।
स्रोत
2018-02-14 14:58:06
आप इसके बजाय मानचित्र का उपयोग क्यों नहीं करते? '' const const बटन = बटनListArr.map (item =><बटन शैली = {{सीमा रंग: आइटम [0]}} onPress = {this.onPress.bind (यह)}> {आइटम [1]} '' ' ' '' प्रस्तुत करना() { वापसी ( <शैली देखें = {...}> )}; '' ' –