你好,我是本机反应的初学者。我正在使用一个基本的应用程序进行练习,该应用程序会读取用户的输入并将其显示在屏幕上。我正在尝试使用FlatList,但未呈现。 这是我的代码
export default function App() {
const [enteredText, setEnteredText] = useState(
""
); /* constant and method with String*/
const [enteredString, setEnteredString] = useState(
[]
); /* constant and method with Array */
const enteredTextHandler = (enteredText) => {
setEnteredText(enteredText);
}; /* Set the entered text to the constant value*/
const addTextHandler = () => {
setEnteredString((currentString) => [
...currentString,
{ id: Math.random().toString(), value: enteredText },
]); /* Add entered text to the array */
};
return (
<View style={styles.mainView}>
<View style={styles.container}>
<TextInput
placeholder="Enter te value"
style={styles.input}
onChangeText={enteredTextHandler}
value={enteredText}
/>
<Button title="Add" onPress={addTextHandler} style={styles.button} />
</View>
<FlatList
data={enteredString}
keyExtractor={(item) => item.id}
renderItem={(itemData) => {
console.log(itemData.item.value);
<View style={styles.listStyle}>
<Text>{itemData.item.value}</Text>
</View>;
}}
/>
</View>
);
}
答案 0 :(得分:0)
可能是因为您在enteredText
中重用了变量名enteredTextHandler
。我认为它的设置方式总是将enterText设置为空白。
尝试为文本参数使用其他名称:
const enteredTextHandler = newText => {
setEnteredText(newText);
}; /* Set the entered text to the constant value*/
答案 1 :(得分:0)
我得到了答案
soup = BeautifulSoup(page.content, 'lxml')
我的语法写错了。以前我使用(itemData)=> {} ,但实际语法为(itemData)=>()。我没有使用括号而是使用花括号,这就是为什么它不显示。