问题描述
我会尝试正确地问我的问题,但不确定 我的问题是我的数据库中有一个静态值(MTB,BMX,TRIAL,TRACK),它们被称为更长的名称,如下所示:
const submitComment = (doc,name,text) => {
firebase.firestore().collection('blogs').doc(doc).update({
comments: firebase.firestore.FieldValue.arrayUnion(
{
name: name,date: new Date().toString(),text: text
}
)
})
}
export default function Feedback(props) {
const [state,setState] = useState({
liked: false,comment: "",name: ""
})
const toggleLike = () => setState({ ...state,liked: !state.liked })
const commentHandler = (e) => setState({ ...state,comment: e.target.value })
const nameHandler = (e) => setState({ ...state,name: e.target.value })
return (
<>
<div className={styles.container}>
<table className={styles.input} role="presentation">
<tbody>
<tr>
<td rowSpan="2">
<Textarea
id="text"
status="secondary" width="100%"
placeholder="Comments!"
onChange={commentHandler}
/>
</td>
<td>
<Input
id="name"
className={styles.name}
width="100%" height="100%" status="secondary"
placeholder="Name"
onChange={nameHandler}
/>
</td>
</tr>
<tr>
<td>
<Button width="150%" type="secondary" ghost
onClick={submitComment(props.post,state.comment,state.comment)}
>submit</Button>
</td>
</tr>
</tbody>
</table>
</div>
</>
)
}
我希望在其视图中以长名称显示它们,并以短名称更新它们。 有什么好的捷径吗?否则我必须在视图中将它们的值一一比较,然后显示我想要的内容。
解决方法
所以,我没有收到任何建议,但是我试图通过在数据库中创建一个额外的表并为每个静态项目分配一个ID并进行关联并按如下关系进行获取和存储来找出问题,但我没有确保这是最好的解决方案,但是还没有道理。
事件表:
import { readFileSync } from 'fs';
const htmlString = readFileSync('path-to-html-file').toString();
page.setContent(htmlString,{ waitUntil: 'networkidle0' });
专业表格:
id name major_id
1 liga 1st 1
2 liga 2nd 2