差不多我做了一个登录页面,与后端进行通信以登录用户。现在,我想获取他们的数据并将其存储以供所有其他组件使用,以了解
根据过去的StackOverflow答案,我认为最好的方法是使用JWT和LocalStorage。但是我遇到的所有答案似乎都在使用Redux。我的应用程序根本没有使用Redux,也不知道如何使用它,所以我想知道是否有一种方法可以不使用Redux。
我目前有
<input type="date" onChange={(input) => { _this.setState({startDate: input})}}/>
Run Code Online (Sandbox Code Playgroud)
无论我做了什么改变(onChange 部分到 ref 等),当我 console.log 我的状态时,startDate 显示为未定义。我什至改了startDate:input,startDate:input.value还是没用。
我尝试使用许多React库,例如react-datepicker等。到目前为止,它们还没有真正为我工作(我们有大量的CSS,并且由于这个问题,它们的CSS被搞乱了)。
如果我有一个'饥饿'这个词我有一个像这样的清单 ['asdfd', 'hingry', 'hungre', ' hangrr']
我怎么能得到'hingry'和'hungre',因为他们是一个角色?我想过使用正则表达式,但我在python中使用它并不是很有经验
我尝试在 StackOverflow 周围搜索,似乎人们在 JQuery 中有这个问题,但在 React 中没有(我使用的是 JSX)。
因此,在 componentWillMount() 中,我几乎对后端进行了 API 调用,从数据库中提取了一堆东西,然后将其映射到 JSX。喜欢
var _this = this;
x = body.map(val =>
<input type="checkbox"
checked={_this.state.roomChecked[val.Room_no]}
onChange={(event) => _this.addRoom(event, val.Room_no, _this.state.allPrices[val.Room_no])}/>
Run Code Online (Sandbox Code Playgroud)
到目前为止,这个渲染和 addRoom 工作,但问题是因为检查是'假',我必须在我的 addRoom 方法中将 x 与 body 映射。我几乎保存了整个身体,并在我的 addRoom 中这样做
addRoom(event, room, priceToAdd){
event.preventDefault();
//My Code Here
x = this.state.savedBody.map(val =>
<input type="checkbox"
checked={_this.state.roomChecked[val.Room_no]}
onChange={(event) => _this.addRoom(event, val.Room_no, _this.state.allPrices[val.Room_no])}/>
Run Code Online (Sandbox Code Playgroud)
}
我检查了源代码,当有人单击复选框时,选中的复选框设置为 true,但您必须再次单击它才能显示样式,然后您必须双击以删除样式(复选框中的检查)。
任何人都知道我如何解决这个问题?
编辑:几乎在我的渲染函数中,我像这样返回 x
{this.x},这就是 JSX 的工作原理,哈哈
EDIT2:按要求我的整个 addRoom 代码
addRoom(event, room, priceToAdd){
var _this = this; …Run Code Online (Sandbox Code Playgroud) 所以我用es6和jsx做了一个react-app。我有一个完整的组件文件夹和一堆 css 文件,我将它们分别导入到不同的组件中。我在导入 react-router 的组件之外还有一个 index.js 文件,并且有一大堆路由。
我使用 create-react-app 制作了我的应用程序,现在我找不到关于如何生成静态网站的好教程。我想我必须使用 webpack,但显然 create-react-app 已经内置了 webpack,所以我不太确定从哪里开始。