Вот быстрый пример Экспо, который должен показать вам, как отобразить простой список. Не очень хорошая идея вызывать fetch внутри метода рендеринга, так как каждый повторный рендеринг будет вызывать fetch.
Вот пример закуски https://snack.expo.io/S1-LKIyQE
import React from 'react';
import { Text, View, StyleSheet, FlatList, SafeAreaView } from 'react-native';
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
productData: []
}
}
async componentDidMount () {
await this.getData();
}
async getData() {
try {
let url ='https://drawtopic.in/projects/wordpress/wp-json/wc/v2/products?consumer_key=ck_044491712632ef889ec13c75daff5879a8291674&consumer_secret=cs_a8e16c732e1812017e15d278e1dce2765a88c49b'
let response = await fetch(url, { method:'GET' });
let responseJson = await response.json();
this.setState({productData: responseJson});
} catch (err) {
console.warn(err);
}
}
renderItem = ({item}) => {
return (
{item.name}
);
}
keyExtractor = (item, index) => {
return index.toString();
}
render() {
return (
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'white'
},
mainItem: {
width:200,
height: 80,
justifyContent: 'center',
alignItems: 'center',
margin: 10,
backgroundColor: 'yellow',
borderColor: 'black',
borderWidth: 1
},
});
Здесь я использовал async/await
, так как он может сделать для намного более чистого и ясного кода. Это отличная статья о различиях между promises
и async/await
https://medium.com/@bluepnume/learn-about-promises-before-you-start-using-async-await-eb148164a9c8 [ 116].
Я также дал вам быстрый пример того, как использовать FlatList для отображения ваших данных. Вы должны проверить документы о том, как правильно его использовать https://facebook.github.io/react-native/docs/flatlist
Если вы хотите изменить способ отображения каждого элемента на экране необходимо обновить метод renderItem
.
Я знаю, что вопрос задан для решения Silverlight 2, но в Silverlight 3 (сейчас бета, RTW в июле 2009 г.) есть встроенный ChildWindow, который может делать все, что вы ищете.
Я не нашел идеальное решение также. Самое близкое, которое я видел, является этим: Используя Всплывающее окно для создания Диалогового класса
Если нормально быть немодальным, можно попробовать это использование подсказки HtmlPage. PopupWindow (). Как Открыть Окно браузера
Более изящное решение здесь: http://community.devexpress.com/blogs/theonewith/archive/2008/08/06/custom-silverlight-controls-creating-a-reusable-messagebox-dialog-part-i.aspx
Я плохо знаком с платформой Sliverlight и только начинаю понимать это, но у меня есть подобная потребность в раскрывающемся модальном диалоговом окне. Я просто попробовал идею что обещание взглядов:
Я уверен это способ самый "в лоб" сделать его и что я в конечном счете обнулю в на более изящной конструкции, но это работает на данный момент.
У меня было такое же требование, и Построение базового модального диалогового окна с использованием пользовательского элемента управления от ScottGu было лучшим решением, которое соответствовало моим требованиям.
Вот бесплатная библиотека, которая предоставляет такую возможность: http://www.vectorlight.net/demos/popup_dialogs.aspx