前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >react条件判断、行内样式style、动态绑定className、循环生成节点、数据监听useEffect

react条件判断、行内样式style、动态绑定className、循环生成节点、数据监听useEffect

原创
作者头像
国服第二切图仔
发布2024-07-03 08:58:59
1840
发布2024-07-03 08:58:59
举报
文章被收录于专栏:jsjs

今天接手一个react项目维护,往里面加一点功能,这里把react常见语法总结记录一下

1、react条件判断生成节点

代码语言:javascript
复制
<div>
  {this.state.switch ? <div>开启</div> : <div>关闭</div>}
</div>

2、react行内样式style及动态绑定style

代码语言:javascript
复制
// App.js
 
const App = () => {
  const stylesObj = {
    backgroundColor: 'lime',
    color: 'white',
  };
 
  const elementWidth = 150;
 
  return (
    <div>
      {/* 👇️ set inline styles directly */}
   {/* 👇️ 直接设置行内样式 */}
      <div style={{backgroundColor: 'salmon', color: 'white'}}>
        Some content
      </div>
 
      <br />
 
      {/* 👇️ set inline styles using an object variable */}
      {/* 👇️ 使用对象变量设置行内样式 */}
      <div style={stylesObj}>Some content</div>
 
      <br />
 
      {/* 👇️ set inline styles conditionally using a ternary */}
      {/* 👇️ 使用三元运算符设置行内样式 */}
      <div
        style={{
          backgroundColor: 'hi'.length === 2 ? 'violet' : 'mediumblue',
          color: 'hi'.length === 2 ? 'white' : 'mediumpurple',
        }}
      >
        Some content
      </div>
 
      <br />
 
      {/* 👇️ set inline styles interpolating a variable into a string */}
      {/* 👇️ 在字符串中插入变量,来设置行内样式 */
      <div
        style={{
          width: `${elementWidth}px`,
          backgroundColor: 'salmon',
          color: 'white',
        }}
      >
        Some content
      </div>
    </div>
  );
};
 
export default App;

3、react 动态绑定class

代码语言:javascript
复制
1. 直接动态绑定,没有判断条件的
<i className={["iconfont "+" "+item.icon]} ></i>复制代码
代码语言:javascript
复制
2.有判断条件的(注意iconfont后加了空格,样式区分)
<i className={["iconfont ",isRed ?item.icon :'' ].join('')} ></i>复制代码
代码语言:javascript
复制
3.使用ES6 模板字符串
<i className={`iconfont ${isRed ?item.icon :'' }`} ></i>复制代码

4、react循环生成节点

代码语言:javascript
复制
map循环
render() {
  return (
    <div>
      {this.state.lists.map((item) => (
        <div key={item}>{item}</div>
      ))}
    </div>
  )
}

foreach 循环
render() {
  const elements = [];
  this.state.lists.forEach(item => {elements.push(<div key={item}>{item}</div>)})
  
  return (
    <div>
      { elements }
    </div>
  )
}

5、react数据监听

代码语言:javascript
复制
如果想只在某个state发生改变的时候才被调用可以传递依赖项。
初始化和具体state更新的时候被调用
这个依赖count的useEffect会在组件初始化和仅count发生变化的时候被调用。
这个类似vue里面的immediate watch。

useEffect(() => {
  console.log("依赖count", count);
}, [count]);

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 今天接手一个react项目维护,往里面加一点功能,这里把react常见语法总结记录一下
  • 1、react条件判断生成节点
  • 2、react行内样式style及动态绑定style
  • 3、react 动态绑定class
  • 4、react循环生成节点
  • 5、react数据监听
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档