小编cki*_*ris的帖子

在单页 React 组件 useState 中切换(显示/隐藏)组件 onClick

在下面的单页案例中如何在组件之间切换?理想情况下,当您单击menu-item关联组件时,将显示相关组件而其他组件将隐藏。

反应

import React, { useState } from 'react';
import About from "./components/About";
import Projects from "./components/Projects";
import Contact from "./components/Contact";

const App = () => {
    // Toggle state(s) here?

    // Toggle function(s) here?

    return (
        <div className="nav">
            <ul className="menu">
                <li className="menu-item">About</li>
                <li className="menu-item">Projects</li>
                <li className="menu-item">Contact</li>
            </ul>
        </div>
        <div className="container">
            <About />
            <Projects />
            <Contact />
        </div>
    )
};

export default App;
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-functional-component

2
推荐指数
1
解决办法
4577
查看次数

在功能组件中,如何使用react-redux connect从redux存储中访问props?

在如下所示的功能性 React 组件中,如何访问从 redux 存储发送过来的 props,类似于如何访问类组件的this.propsin ,如下面的评论所示?componentDidMount()

import React from 'react';
import { connect } from "react-redux";
import * as actions from "../../actions";

const ComponentName = () => {
    // componentDidMount() {
    //    this.props;
    // }

    return (
        <div>
            <div>???</div>
        </div>
    );
};

function mapStateToProps(state) {
    return { state };
}

export default connect(mapStateToProps, actions)(ComponentName);
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux react-redux

1
推荐指数
1
解决办法
2705
查看次数

Vanilla Javascript ES6 相当于 jQuery toggle()?

这个 jQuerytoggle()函数运行良好。在 vanilla javascript(首选 ES6)中执行相同操作的良好做法是什么?

$("#sign_up_btn").click(function(e) {
    $(signUpForm).toggle("hide");
    $(loginForm).toggle("hide");
});

$("#login_btn").click(function(e) {
    $(signUpForm).toggle("hide");
    $(loginForm).toggle("hide");
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery ecmascript-6

0
推荐指数
1
解决办法
4159
查看次数

使用 fetch API 获取数据和 setState 时 React useEffect 循环多次

为什么会fetchData多次触发?在console.log似乎环几乎是无限?如何让它在加载时仅运行一次并在fetchData()稍后调用时仅触发一次?我在这里做错了什么或错过了什么?

const [data, setData] = useState(null);

  let fetchData = React.useCallback(async () => {
    const result = await fetch(`api/data/get`);
    const body = await result.json();
    setData(body);
    console.log(data)
  },[data])

  useEffect(() => {
    fetchData();
  },[fetchData]);
Run Code Online (Sandbox Code Playgroud)

更新(附加问题):如何在下面data的之前等待填充return()现在给出错误,因为它最初为空?:data.map is not a function

return (
    <select>
        {data.map((value, index) => {
            return <option key={index}>{value}</option>
        })}
    </select>
)
Run Code Online (Sandbox Code Playgroud)

javascript reactjs fetch-api use-effect use-state

0
推荐指数
1
解决办法
2345
查看次数

当值用引号括起来时,如何将 Javascript 对象值转换为数组?

这个 javascript 对象值是一个字符串,如何将其转换为一个数组,删除外部引号,只留下括号?尝试使用obj["text-font"] = obj["text-font"].split('"').join("");不成功。

当前的

text-font: "['Open Sans Regular', 'Arial Unicode MS Regular']"
Run Code Online (Sandbox Code Playgroud)

故意的

text-font: ['Open Sans Regular', 'Arial Unicode MS Regular']
Run Code Online (Sandbox Code Playgroud)

javascript javascript-objects

0
推荐指数
1
解决办法
44
查看次数

错误:对象作为 React 子对象无效,React Hook 中的 prop 未返回

我在尝试return ( <div id="info_side">{info}</div> )以下时收到错误。我有一个有效的_onClick功能,info如果我没有{info}在返回中包含任何地方,我可以控制台日志。我怎样才能解决这个问题?

这是错误: Error: Objects are not valid as a React child (found: object with keys {type, _vectorTileFeature, properties, layer, source, state}). If you meant to render a collection of children, use an array instead.

更新 必须将对象转换为数组,然后映射键值,现在它可以工作了。

const _onClick = event => {
  const display = event.features;
  if (display.length > 0) {
    setInfo(display[0].properties)
  }
}

var list = Object.entries(info).map(([key,value]) => {
  return (
    <div><span className="bold">{key}</span>: <span>{value.toString()}</span></div>
  )
});

return …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks

-1
推荐指数
1
解决办法
805
查看次数