我正在尝试制作一个带有颜色背景和非常薄的填充的文本组件。像这样:
但是,RN Text 组件底部有一些额外的填充,我不知道如何删除(我不知道如何调用这种文本填充)。
我尝试将 lineHeight 设置为与 fontSize 相同,设置负填充和边距,但填充始终存在。
这是我得到的:
fontSize: 50, lineHeight: 50
fontSize: 50, lineHeight: 40
这发生在 iOS 和 Android 上。怎么去掉???
这是我的文本组件供参考:
<Text style={{
backgroundColor: someDarkGreen;
color: cyan;
fontSize: 50;
lineHeight: 50;
textTransform: uppercase;
fontWeight: bold;
paddingHorizontal: 10;
alignSelf: flex-start;
marginBottom: 30;
marginLeft: 30;
}}
/>
Run Code Online (Sandbox Code Playgroud) 我想在前端设置我的文档 ID,同时设置我set的文档,所以我想知道是否有一种方法可以生成 Firestore ID,它可能如下所示:
const theID = firebase.firestore().generateID() // something like this
firebase.firestore().collection('posts').doc(theID).set({
id: theID,
...otherData
})
Run Code Online (Sandbox Code Playgroud)
我可以使用uuid或其他一些 id 生成器包,但我正在寻找 Firestore id 生成器。这个 SO 答案指向一些newId 方法,但我在 JS SDK 中找不到它......(https://www.npmjs.com/package/firebase)
我正在使用useLazyQuery按钮单击来触发查询。查询被调用一次后,结果(数据、错误等)会在每次渲染时传递给组件渲染。例如,当用户输入新的文本输入来更改导致错误的原因时,这是有问题的:错误消息不断重复出现。所以我想“清除”查询(例如,当用户在 TextInput 中键入新数据时),以便查询结果返回到初始状态(一切undefined)并且错误消息消失。
我在 Apollo 文档中找不到任何明确的方法来做到这一点,那我该怎么做呢?
(我虽然将查询放在父组件中,因此它不会在每次重新渲染时更新,但我宁愿不这样做)
这是我当前设置组件的方式:
import { useLazyQuery } from 'react-apollo'
// ...
const [inputValue, setInputValue] = useState('')
const [getUserIdFromToken, { called, loading, data, error }] = useLazyQuery(deliveryTokenQuery, {
variables: {
id: inputValue.toUpperCase(),
},
})
useEffect(() => {
if (data && data.deliveryToken) {
onSuccess({
userId: data.deliveryToken.vytal_user_id,
token: inputValue,
})
}
}, [data, inputValue, onSuccess])
// this is called on button tap
const submitToken = async () => {
Keyboard.dismiss()
getUserIdFromToken()
}
// later …Run Code Online (Sandbox Code Playgroud)