Reactjs 平面列表中的动态不同对象
我建立了一个自定义的平面列表,因为我的视图是相同的,我不想重复代码Reactjs 平面列表中的动态不同对象,reactjs,react-native,react-native-flatlist,Reactjs,React Native,React Native Flatlist,我建立了一个自定义的平面列表,因为我的视图是相同的,我不想重复代码 我这样执行平面列表: <FlatListPicker data={availableMeetings} type="days" updateSelect={selectHandler} selected={selectedDay} />
<FlatListPicker
data={availableMeetings}
type="days"
updateSelect={selectHandler}
selected={selectedDay}
/>
<FlatListPicker
data={availableMeetings[0].hours}
type="hours"
updateSelect={selectHandler}
selected={selectedHour}
/>
const FlatListPicker = ({ data, type, updateSelect, selected }) => {
return (
<FlatList
horizontal={true}
data={data}
renderItem={({ item }) => (
<TouchableOpacity
style={[
styles.button,
selected === item.key && styles.buttonselected,
]}
onPress={() => updateSelect(item.key, type)}
>
<Text
style={[
styles.daytext,
selected === item.key && styles.textselected,
]}
>
{item.dayName}
{"\n"}
{type === "days" ? (
<Text style={styles.datetext}>{item.date}</Text>
) : (
<Text style={styles.datetext}>{item}</Text>
)}
</Text>
</TouchableOpacity>
)}
keyExtractor={(item, index) => index.toString()}
/>
);
};
<FlatListPicker
data={availableMeetings}
type="days"
updateSelect={selectHandler}
selected={selectedDay}
/>
<FlatListPicker
data={availableMeetings[0].hours}
type="hours"
updateSelect={selectHandler}
selected={selectedHour}
/>
const FlatListPicker = ({ data, type, updateSelect, selected }) => {
return (
<FlatList
horizontal={true}
data={data}
renderItem={({ item }) => (
<TouchableOpacity
style={[
styles.button,
selected === item.key && styles.buttonselected,
]}
onPress={() => updateSelect(item.key, type)}
>
<Text
style={[
styles.daytext,
selected === item.key && styles.textselected,
]}
>
{item.dayName}
{"\n"}
{type === "days" ? (
<Text style={styles.datetext}>{item.date}</Text>
) : (
<Text style={styles.datetext}>{item}</Text>
)}
</Text>
</TouchableOpacity>
)}
keyExtractor={(item, index) => index.toString()}
/>
);
};
constflatlistpicker=({data,type,updateSelect,selected})=>{
返回(
(
updateSelect(item.key,type)}
>
{item.dayName}
{“\n”}
{type==“天”(
{item.date}
) : (
{item}
)}
)}
keyExtractor={(项,索引)=>index.toString()}
/>
);
};
{type === "days" ? (
<Text style={styles.datetext}>{item.date}</Text>
) : (
<Text style={styles.datetext}>{item}</Text>
)}
{type==“天”(
{item.date}
) : (
{item}
)}
可以使用javascript逻辑运算符 试试这个
<Text style={styles.datetext}>{item.date || item}</Text>
{item.date | | item}
您的代码有一个副本my bro最好的方法是:
const FlatListPicker=({data,type=“days”,updateSelect,selected})=>{
返回(
(
updateSelect(item.key,type)}
>
{item.dayName}
{“\n”}
{type==“天”?item.date:item}
)}
keyExtractor={(项,索引)=>index.toString()}
/>
);
};
谢谢。实际上我在mehran的评论中使用了。更多shortly@RoeiGrinshpan祝你好运