Estoy usando react-native-select-dropdown y configuro la matriz de datos estáticamente, pero no sé cómo configurar la matriz de datos dinámicamente desde apis con id.
Código:
const countries = ["Egypt", "Canada", "Australia", "Ireland"] <SelectDropdown data={countries} // defaultValueByIndex={1} // defaultValue={'Egypt'} onSelect={(selectedItem, index) => { console.log(selectedItem, index); }} defaultButtonText={"Select"} buttonTextAfterSelection={(selectedItem, index) => { return selectedItem; }} rowTextForSelection={(item, index) => { return item; }} />cómo configurar la lista de matriz de países dinámicamente y necesito tanto el título como la identificación del elemento seleccionado, los datos de obtención de api son:
const countries = [ {namd: 'Egypt', id: 1}, {namd: 'Canada', id: 2}, {namd: 'Australia', id: 3}, {namd: 'Ireland', id: 4}, ];Aquí hay un ejemplo de su código según su requisito. En el menú desplegable del código a continuación, se mostrarán los nombres de los países y cuando seleccione cualquiera de ellos, se imprimirá el país y la identificación seleccionados. Puede usar el enlace useState para administrar las llamadas a la API. Le he mostrado el ejemplo de cómo puede administrar la respuesta para el menú desplegable.
Puede consultar este ejemplo de refrigerio que acabo de hacer: https://snack.expo.dev/hRpKm2bdg
const countries = [ {namd: 'Egypt', id: 1}, {namd: 'Canada', id: 2}, {namd: 'Australia', id: 3}, {namd: 'Ireland', id: 4}, ]; export default function App() { return ( <View> <SelectDropdown data={countries} onSelect={(selectedItem, index) => { console.log('selected Country name ->>>>',selectedItem.namd) console.log('selected Country Id ->>>>',selectedItem.id) }} buttonTextAfterSelection={(selectedItem, index) => { // text represented after item is selected // if data array is an array of objects then return selectedItem.property to render after item is selected return selectedItem.namd }} rowTextForSelection={(item, index) => { // text represented for each item in dropdown // if data array is an array of objects then return item.property to represent item in dropdown return item.namd }} /> </View> ); }