我正在尝试设置我的React.js应用程序,以便只有在我设置的变量为true时才会呈现.
我的渲染功能的设置方式如下:
render: function() {
var text = this.state.submitted ? 'Thank you! Expect a follow up at '+email+' soon!' : 'Enter your email to request early access:';
var style = this.state.submitted ? {"backgroundColor": "rgba(26, 188, 156, 0.4)"} : {};
return (
<div>
if(this.state.submitted==false)
{
<input type="email" className="input_field" onChange={this._updateInputValue} ref="email" value={this.state.email} />
<ReactCSSTransitionGroup transitionName="example" transitionAppear={true}>
<div className="button-row">
<a href="#" className="button" onClick={this.saveAndContinue}>Request Invite</a>
</div>
</ReactCSSTransitionGroup>
}
</div>
)
},
Run Code Online (Sandbox Code Playgroud)
基本上,这里的重要部分是if(this.state.submitted == false)部分(我希望在提交的变量设置为false时显示这些div).
但是在运行时,我在问题中得到错误:
未捕获的错误:解析错误:第38行:相邻的JSX元素必须包装在一个封闭的标记中
这是什么问题?我可以用什么来完成这项工作?
最近我正在阅读 react-redux 文档https://react-redux.js.org/next/api/hooks 并且有一个与平等比较和更新相关的部分,它说:
多次调用 useSelector(),每次调用返回一个字段值。
第一种方法:
const { open, importId, importProgress } = useSelector((importApp) => importApp.productsImport);
Run Code Online (Sandbox Code Playgroud)
第二种方法:
const open = useSelector((importApp) => importApp.productsImport.open);
const importId = useSelector((importApp) => importApp.productsImport.importId );
const importProgress = useSelector((importApp) => importApp.productsImport.importProgress);
Run Code Online (Sandbox Code Playgroud)
那么有什么真正的区别吗?或者由于破坏 useSelector 钩子会在检查引用时遇到麻烦?
我正在尝试更新到.NET Core 2.0,但是我在使用该引用安装的所有软件包上都收到了这些错误
问题可能是:
我在输出中得到了netcoreapp1.0的引用
Microsoft.EntityFrameworkCore.Tools.DotNet 2.0.0软件包与netcoreapp1.0(.NETCoreApp,Version = v1.0)不兼容.Microsoft.EntityFrameworkCore.Tools.DotNet 2.0.0软件包支持:netcoreapp2.0(.NETCoreApp,Version = v2.0)一个或多个软件包与.NETCoreApp,Version = v1.0不兼容.检测到的包:Microsoft.ApplicationInsights.AspNetCore从2.1.1到2.0.0 Microsoft.AspNetCore.All(> = 2.0.0) - > Microsoft.AspNetCore.ApplicationInsights.HostingStartup(> = 2.0.0) - > Microsoft. ApplicationInsights.AspNetCore(> = 2.1.1)应用程序(> = 1.0.0) - > Microsoft.ApplicationInsights.AspNetCore(> = 2.0.0)
之后,我收到所有组件的消息:
Microsoft.AspNetCore.ANYPACKAGE 2.0.0软件包与netcoreapp2.0(.NETCoreApp,Version = v2.0)不兼容.Microsoft.AspNetCore.WebSockets 2.0.0软件包支持:netstandard2.0(.NETStandard,Version = v2.0)
这是手册:
https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/
SDK已更新至2.0
这是我的csproj
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
</PropertyGroup>
<ItemGroup>
<Compile Remove="wwwroot\lib\kendo-ui-core\**" />
<Content Remove="wwwroot\lib\kendo-ui-core\**" />
<EmbeddedResource Remove="wwwroot\lib\kendo-ui-core\**" />
<None Remove="wwwroot\lib\kendo-ui-core\**" />
</ItemGroup>
<ItemGroup>
<Content Include="wwwroot\css\bootstrap-lumen.css" />
<Content Include="wwwroot\css\bootstrap-sand.css" /> …Run Code Online (Sandbox Code Playgroud) 代码:
import DrawControl from "react-mapbox-gl-draw";
export default function MapboxGLMap() {
let drawControl = null
return(
<DrawControl ref={DrawControl => {drawControl = DrawControl}}/>
)
}
Run Code Online (Sandbox Code Playgroud)
我想在drawControl非空时加载数据。我检查了可能使用回调引用的文档。
那么,我如何监听drawControl更改并加载数据?
我Material-ui在ReactJs项目中使用组件,由于某种原因,我需要在某些组件中进行自定义,以使其根据屏幕宽度进行响应.
我添加media query并将其作为样式属性传递给组件但不工作,任何想法?
我正在使用这样的代码
const drawerWidth = {
width: '50%',
'@media(minWidth: 780px)' : {
width: '80%'
}
}
<Drawer
.....
containerStyle = {drawerStyle}
>
</Drawer>
Run Code Online (Sandbox Code Playgroud)
代码仅适用于网络,在移动设备上没有任何影响.甚至css代码没有申请我已经检查了dev.安慰.我正在使用material-ui版本0.18.7.
任何帮助,将不胜感激.
PS:根据要求,我需要根据屏幕大小使用CSS进行一些更改.
在 React 中,我们可以通过以下方式使用状态和道具在基于类的组件之间传递数据:
应用程序.js
import Name from './Name';
import React, { Component } from 'react'
export class App extends Component {
state = {
name: "Tarun"
}
render() {
return (
<Name name={this.state.name}/>
)
}
}
export default App
Run Code Online (Sandbox Code Playgroud)
名称.js
import React, { Component } from 'react'
export class Name extends Component {
render() {
return (
<div>
My name is : {this.props.name}
</div>
)
}
}
export default Name
Run Code Online (Sandbox Code Playgroud)
但是现在既然 React 引入了函数式组件,如果我对App.js和都使用函数式组件,那么等效的代码是什么Name.js?
假设我有一个如下的函数
function addressCombo(street1:string, street2:string = "NA", street3?:string) {
console.log("street1: " + street1);
console.log("street1: " + street2);
console.log("street2: " + street3);
}
Run Code Online (Sandbox Code Playgroud)
我想传递参数值street1,但street3不是street2那么我该怎么做呢?
我来自C#后台,我们按如下方式进行
addressCombo("ABC", street3 : "XYZ");
Run Code Online (Sandbox Code Playgroud) 目前,我们在Azure中有一个函数应用程序,它托管在 Windows 中。最初创建后,您需要选择托管环境,如下所示:
问题:
是否有机会更改已创建的Azure Functions的底层托管环境?即使在官方文档中我也没有找到任何与之相关的内容。
感谢您的澄清。
我正在尝试使用版本为 4.0.0 的 create-react-app 运行我的第一个 React JSX 文件,并且它可以工作!但是,我的 JSX 中没有包含 React 的 import 语句,它也可以工作,但是很奇怪。该项目是通过create-react-app命令创建的,版本为 4.0.0。
App.js 文件:
/* 没有导入 React 但也可以工作!*/
import { Component } from "react";
class App extends Component {
render() {
return <div>456</div>;
}
}
export default App;Run Code Online (Sandbox Code Playgroud)
所以我创建了一个联系页面,我希望页脚div不会在联系表单之后粘在页面底部.
但是如果我把所有东西放到一个高度为100%的容器div中; 并使页脚底部:0; 页面将"太长",你必须滚动等...
我的css到目前为止:
#footer{
background-color:#fff;
font:bold 14px;
color:#1E88E5;
width:100%;
height:auto;
padding:1%;
border-top:1px solid #1E88E5;
}
Run Code Online (Sandbox Code Playgroud)
页脚只是一个普通的全宽div,带有一些居中的文本atm.
reactjs ×6
javascript ×4
.net ×1
asp.net ×1
asp.net-core ×1
azure ×1
css ×1
html ×1
jsx ×1
material-ui ×1
react-hooks ×1
react-redux ×1
ref ×1
render ×1
typescript ×1