我正在尝试在React JSX中执行以下操作(其中ObjectRow是一个单独的组件):
<tbody>
for (var i=0; i < numrows; i++) {
<ObjectRow/>
}
</tbody>
Run Code Online (Sandbox Code Playgroud)
我意识到并理解为什么这不是有效的JSX,因为JSX映射到函数调用.然而,来自模板领域并且是JSX的新手,我不确定如何实现上述(多次添加组件).
我正在使用React和ESLint与eslint-plugin-react.我想在一个文件中禁用prop-types规则.
var React = require('react');
var Model = require('./ComponentModel');
var Component = React.createClass({
/* eslint-disable react/prop-types */
propTypes: Model.propTypes,
/* eslint-enable react/prop-types */
render: function () {
return (
<div className="component">
{this.props.title}
</div>
);
}
});
Run Code Online (Sandbox Code Playgroud) 我目前正在学习React中的钩子概念,并试图理解下面的例子.
import { useState } from 'react';
function Example() {
// Declare a new state variable, which we'll call "count"
const [count, setCount] = useState(0);
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
上面的示例在处理程序函数参数本身上递增计数器.如果我想修改事件处理函数内的计数值怎么办?
考虑下面的例子
setCount = () => {
//how can I modify count value here. Not sure if I can use setState to modify its value
//also I want to modify other state values as well here. …Run Code Online (Sandbox Code Playgroud) 这是我的反应渲染函数渲染:function(){
render:function(){
return (
<div>
<p className="rr">something</p>
<style>
.rr{
color:red;
}
</style>
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
这给了我这个错误"JSX:错误:解析错误:第22行:意外的令牌:"
这有什么不对?我可以将完整的普通css嵌入到反应组件中吗?
我在全球安装了react-native-cli:
run-android
然后运行:
react-native -v
run-android
我得到以下结构:
react-native -v
run-android
react-native -v
当我运行react-native run-android时出现错误:
命令run-android无法识别.你的意思是在一个反应原生项目中运行吗?
当我运行react-native start时,我得到了同样的结果.
react-native -v
prints:
react-native-cli:0.2.0
react-native:n/a - 不在React Native项目目录中
我做错了什么?
我有React Native应用程序,我从得到的数据API通过fetch。我创建了从API. 我需要每 5 秒重新渲染一次。为此,我将我的自定义钩子包装到 setInterval 并且在我的应用程序变得非常缓慢并且当我导航到另一个屏幕时我收到此错误:
无法对卸载的组件执行 React 状态更新。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要修复,请取消 useEffect 清理函数中的所有订阅和异步任务。
你能告诉我如何解决这个错误,哪种方法是最好的方法setInterval,因为我认为我的方法不好。
我的自定义钩子:
export const useFetch = url => {
const [state, setState] = useState({ data: null, error: false, loading: true })
useEffect(() => {
setInterval(() => {
setState(state => ({ data: state.data, error: false, loading: true }))
fetch(url)
.then(data => data.json())
.then(obj =>
Object.keys(obj).map(key => {
let newData = obj[key]
newData.key = key
return newData
})
)
.then(newData …Run Code Online (Sandbox Code Playgroud)
当我使用它从数组中获取数据API并将响应设置为连续重复时。useEffectAPI
let [product, setproduct] = useState([]);
async function fetchData() {
let response = await axios(
`api`
);
let user = await response.data;
setproduct(user);
console.log(product);
}
useEffect(() => {
fetchData();
});
Run Code Online (Sandbox Code Playgroud) 在页面加载后尝试在我的页面上设置此复选框元素时,我遇到了一个小小的挑战:
<input type="checkbox" id="1403317">
挑战:
1.这<input>只能通过其id调用,因为没有设置名称属性.
2.执行此操作的JS代码不能放在<head></head>标记内 - 我无权访问此用例中的代码部分,因此必须在某处工作<body></body>.
这是我到目前为止(在结束</body>标记之前)尝试这样做的方法,但没有效果.我的语法有问题吗?
<input type="checkbox" id="1403317">
需要建议在反应的功能组件中发挥作用Hooks。
据我研究,很多人都说这是不好的做法,因为每次我们称为重新渲染时,它都会创建嵌套/内部函数。经过分析,
我发现我们可以onClick={handleClick.bind(null, props)}在元素上使用并将功能放置在功能组件之外。
例:
const HelloWorld = () => {
function handleClick = (event) => {
console.log(event.target.value);
}
return() {
<>
<input type="text" onChange={handleClick}/>
</>
}
}
Run Code Online (Sandbox Code Playgroud)
请告知是否还有其他方法。
提前致谢。
我正在使用这 2 个 CDN 在我的项目中包含 React 库,但是当我使用 JSX 将一些 html 渲染到 HTML 文档的主体上时,它不会将 JSX 识别为 JSX(我正在使用 chrome),因此抛出当它将 JSX 读取为 javascript 时出现错误。难道我做错了什么?任何帮助都会很棒:) CDN:
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
Run Code Online (Sandbox Code Playgroud)
HTML:
<body>
<div id="here"></div>
</body>
Run Code Online (Sandbox Code Playgroud)
反应:
var React = require('react');
var ReactDOM = require('react-dom');
const text = <h1>Hello World</h1>;
ReactDOM.render(text, document.getElementById('here'));
Run Code Online (Sandbox Code Playgroud) reactjs ×7
javascript ×6
react-hooks ×3
react-native ×3
html ×2
android ×1
api ×1
axios ×1
checkbox ×1
css ×1
eslint ×1
listener ×1
node.js ×1
onload ×1
setinterval ×1
use-effect ×1