小编Dee*_*ndi的帖子

React - 仅对特定键的状态更新值

我正在尝试使用React,我有一个更新特定键的状态值的问题.

这是我的州

this.state = {
        connections : {
            facebook : "http://facebook.com",
            flickr : null,
            foursquare : null,
            googleplus : null,
            id : 0,
            instagram : "http://instagram.com/",
            openstreetmap : null,
            pinterest : null,
            place_id : 1,
            tomtom : null,
            tripadvisor : null,
            twitter : "http://twitter.com",
            vimeo : null,
            wikipedia : null,
            yelp : null,
            youtube : null
        },
        contact : {

        }
    }
Run Code Online (Sandbox Code Playgroud)

我正在调用外部组件并向其发送参数.

<Connection type="Facebook" icon={facebookIcon} placeholder="Add Facebook Link" name="facebook" value={this.state.connections.facebook} onChange={this.handleChange.bind(this)}/>
<Connection type="Twitter" icon={twitterIcon} placeholder="Add Twitter Link" name="twitter" value={this.state.connections.twitter} …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs react-redux

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

批量反应导入图标/图像

我有 100 个要导入的图标和图像。有什么办法可以消除在页面顶部写这么多导入语句?我想在一个单独的文件中编写一个导入语句并将其嵌入到顶部。

import basicAmenitiesIcon from '../../../../images/icons/wifi-sign.png';
import parkingIcon from '../../../../images/icons/parking.png';
...
Run Code Online (Sandbox Code Playgroud)

有没有其他办法解决?我正在使用 webpack,这是配置:

{
    test: /\.(jpe?g|png|gif|svg)$/i,
    loaders: [
        'file?hash=sha512&digest=hex&name=[hash].[ext]',
        'image-webpack?bypassOnDebug&optimizationLevel=7&interlaced=false'
    ]
}
Run Code Online (Sandbox Code Playgroud)

javascript import reactjs webpack

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

参考错误:未定义调度

我有一个连接器,它有 mapDispatchToProps 和 mapStateToProps 函数,我需要从我的主要组件分派一个动作。

我在尝试分派时收到一条错误消息,提示未定义分派 fetchPlaces(this.props.user.id)

this.props.user.id 值为 1。

我需要获取用户 ID 并将其传递给 fetchPlaces,它会为我提供用户所在的位置。我不知道该怎么做。

连接器

const mapStateToProps = function (store) {
    return {
        elements: store.elements.elements,
        places: store.places.places,
        geocode : store.geocode.geocode,
        user : store.user.user
    };
};

const mapDispatchToProps = function (dispatch) {
    return {
        userAction : dispatch(fetchUser()),
        elementsAction : dispatch(fetchCategories()),
        placesAction: (id) => { dispatch(fetchPlaces(id)) }        
    }
}

class BasicinfoConnector extends React.Component{
  render() {
      console.log(this.props.user);
      if(typeof this.props.user.id != "undefined"){
          return (
              <Basicinfo elements={this.props.elements} places={this.props.places} geocode={this.props.geocode} user={this.props.user}/>
          );
      }
      else{
          return null; …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux-thunk react-redux

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

React路由器总是呈现'/'路径

我正在尝试使用 v4 react 路由器,但路由器始终呈现初始路径 ('/')。我正在使用

react: ^16.2.0

react-dom: ^16.2.0

react-router-dom: ^4.2.2

当我尝试呈现 /#/account 时,它呈现 Home 而不是 Account。

import React from "react"
import ReactDOM from "react-dom"
import { BrowserRouter as Router, Route } from 'react-router-dom'

import Home from "./components/Home/Home";
import Account from "./components/Account/Account";
import Layout from "./components/Layout";

const app = document.getElementById('app');

ReactDOM.render(
  <Router>
      <div>
        <Route exact path="/" render={() => (<div>Home</div>)} />
        <Route path="/account" render={() => (<div>Account</div>)} />
      </div>
  </Router>,
  app
)
Run Code Online (Sandbox Code Playgroud)

reactjs react-router react-router-v4 react-router-dom

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

将POINT插入postgres数据库

我需要在postgres数据库中插入/更新点列类型.

我正在使用 node-postgres

使用POSTGRES管理面板生成的脚本将更新查询显示为

UPDATE public.places SET id=?, user_id=?, business_name=?, alternate_name=?, primary_category=?, categories=?, description=?, address=?, city=?, state=?, country=?, zip=?, point WHERE <condition>;

我如何从纬度和经度中获得点数?

我已经看过几个使用POSTGIS的答案,但无法使其正常工作.

在POSTGRES(https://www.postgresql.org/docs/9.2/static/xfunc-sql.html)的文档中提到我们可以使用point '(2,1)',但这不适用于pg查询.

我现在拥有的:

var config = {
  user: 'postgres',
  database: 'PGDATABASE',
  password: 'PGPASSWORD!',
  host: 'localhost',
  port: 5432,
  max: 10,
  idleTimeoutMillis: 30000
};
Run Code Online (Sandbox Code Playgroud)

更新部分:

app.post('/updatePlaces', function(req, res, next) {
    console.log("Update");
    console.log(req.body.places);
    pool.query('UPDATE places SET address = $1, alternate_name = $2, business_name = $3, categories = $4, city = $5, country = $6, description …
Run Code Online (Sandbox Code Playgroud)

postgresql postgis node-postgres

4
推荐指数
3
解决办法
1万
查看次数

没有关闭标签 JSX 的元素推送

我想执行下面的递归函数,问题是ul因为调用该函数时我正在推送一个ul标签,最后forEach我将关闭它。如果我outputArray.push(<ul>)随着结束而改变</ul>,那么它工作正常,但这不会达到我的目的。

有办法解决吗?

注意:这是一个递归函数。

function flatten(data, outputArray) {
      outputArray.push(<ul>)
        data.forEach(function (asset){
            if(asset.children.length) {
              outputArray.push(<li><button onClick={_ => this.appendAssets(asset.name)}>{asset.name}</button></li>);
              flatten(asset.children, outputArray);
            }
            else{
              outputArray.push(<li><button onClick={_ => this.appendAssets(asset.name)}>{asset.name}</button></li>);
            }
        });
      outputArray.push(</ul>)
    }
Run Code Online (Sandbox Code Playgroud)

javascript jsx reactjs

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

从响应中获取数据

我的回复是以下格式,

{
  "access_token": "eWcWLctGW-_NgGVAmFbO9l-nt3yztFzlZCLLlilI9mGDcM5q8d0kQw0uzvFOoXynHcb-MuPVJGTGkSkBhrr69_-aN1r5j9zB4fCl4u4aqOQ-scNI36xgHeGYpXky60drIBpMI83FGqd9pMjL4GWXjFHq61nhJ6xkGj1u1r9a5u6EJrB1lfjNhljzC_j65xaqxtubQ4AglKFO2ib-levpvnd_bEU-QGQrtvS2QbaXhb_hlnX8czo61Gn_OQyBVk7HbN1SozxIPe3RBvf5AiCAouDMz1WMHy9ybVFy8SnoNIgszjo7Ev2IEWS9aFb87u6bvoJvSVJv7s3z-2GUvG2kwfOk2sUWrmq0QeIJJrYwdKQfs3T8HrK2MNKSGteJ04-O",
  "token_type": "bearer",
  "expires_in": 1799,
  "refresh_token": "f1005c7fd74247069dbdb078ee379410",
  "as:client_id": "438dc832-33c7-413b-9c71-d0b98a196e6a",
  "userName": "master",
  ".issued": "Fri, 20 Jan 2017 14:30:09 GMT",
  ".expires": "Fri, 20 Jan 2017 15:00:09 GMT"
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何访问.issued,.expiresas:client_id

我正在使用angular并传递用户名,密码和company_id,并以上述格式获取响应.

dataService.getAuthToken($scope.username, $scope.password, $scope.company_password).then(function (response) {
  
    //response data here

});
Run Code Online (Sandbox Code Playgroud)

我可以token_type通过使用response.data.access_token但不确定如何访问来轻松获取,access_token .issued,.expiresas:client_id

javascript angularjs

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