我有一个正在创建的应用程序,我想知道如何将变量插入到<Route path={insert variable here} component={myProfile}> 我正在尝试创建一个 myProfile 页面中,我正在尝试获取它,因此当他们单击链接时,它会将它们重定向到,http://mywebsite.com/userId但是当我尝试Route在path参数中创建一个变量,它不会返回我在该路径上尝试呈现的组件。
路由.js
import { Meteor } from "meteor/meteor"
import React from "react";
import { withRouter, Switch, BrowserRouter, Route, Redirect, Link } from "react-router-dom";
import Login from "../ui/authentication/Login";
import Signup from "../ui/authentication/Signup";
import Home from "../ui/Home";
import { SubjectRoutes } from "../ui/subjectRoutes/subjectRoutes";
import AddNote from "../ui/AddNote";
import myProfile from "../ui/myProfile";
import NotFound from "../ui/NotFound";
export default class Routes extends React.Component{
renderSubjectRoutes(subjects){
return subjects.map((subject) => {
return <Route …Run Code Online (Sandbox Code Playgroud) 我有一个数组状态,其中填充了称为 items 的对象:
const [items, setItems] = useState([{name: "", toppings: []}])
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用此函数删除指定索引时:
const removeItem = (index) => {
setItems(items.filter((item, i) => i !== index))
areItemsCompleted()
}
Run Code Online (Sandbox Code Playgroud)
当我将元素打印到函数外部的控制台时,它可以工作,但是该项目无法正确渲染。它仅从 jsx 中删除数组的最后一个元素,但items数组具有正确的值。我在某处读到,反应仅浅层检查状态变化,因此它不会检查正在删除的对象的内容。但是,我不确定为什么它显示在控制台中items具有正确的值,但组件没有呈现正确的数据。(相反,除了 中的最后一个元素之外,它呈现相同的数据items)。
我尝试了多种从数组中删除元素的方法,例如
const removeItem = (index) => {
let arr = [...items]
arr.splice(index, 1)
setItems(arr)
areItemsCompleted()
}
Run Code Online (Sandbox Code Playgroud)
如何从充满对象的数组中删除元素并呈现正确的数据?
我正在尝试使用 webflow 制作一个网站,当我尝试导出代码时,它会在我从 webflow 下载的项目文件夹中运行。但是,当我创建一个 React 应用程序 (create-react-app) 并将styles, js, fonts,images文件夹复制到公共文件夹中并将 HTML 复制到 React 组件中时,内容就在那里,但没有动画。我的动画之一是,当您向下滚动页面时,会出现一些文本。我在网络流论坛上搜索过,也有几个人遇到了这个问题,但还没有得到解决问题的答案。
注意:我对React和Meteor相当新,所以在回答我的问题时请非常具体.
我正在尝试使用meteor创建一个短信应用程序并做出反应,但是,我使用的教程是使用React v3,我想知道如何在v4中执行相同的操作,即使用browserHistory.push()或browserHistory.replace ()将用户发送到另一个页面.到目前为止,我正在做一个页面,他们可以将自己的名字设置为他们想要的任何内容,然后将它们链接到聊天页面.我知道有很多关于这方面的文章和文档,但它们都是非常复杂的例子.如果可以,你能告诉我最基本的方法,我可以将某人重定向到另一个页面.
SetName.js:
import React from "react";
import { BrowserRouter } from 'react-router-dom'
export default class SetName extends React.Component{
validateName(e){
e.preventDefault();
let name = this.refs.name.value;
if(name){
console.log(name);
}
this.props.history.push('/asd')
}
render(){
return(
<div>
<form onSubmit={this.validateName.bind(this)}>
<h1>Enter a Name</h1>
<input ref="name" type="text"/>
<button>Go to Chat</button>
</form>
</div>
)
}
}
Run Code Online (Sandbox Code Playgroud)
main.js
import React from "react";
import ReactDOM from "react-dom";
import {Meteor} from "meteor/meteor";
import {Tracker} from "meteor/tracker";
import { BrowserRouter, Route, Switch } from 'react-router-dom'
import {Texts} from "./../imports/api/Text"; …Run Code Online (Sandbox Code Playgroud)